Einfügen von Kommentaren in reguläre Java-Ausdrücke

Ich habe einige komplexe reguläre Ausdrücke, die ich aus Gründen der Lesbarkeit und Wartung kommentieren muss. Die Java-Spezifikation ist ziemlich knapp und ich hatte lange Mühe, dies zum Laufen zu bringen. Endlich habe ich meinen Fehler entdeckt und werde ihn als Antwort veröffentlichen, aber ich wäre dankbar für jeden anderen Rat zur Beibehaltung von Regexen

Als Beispiel möchte ich die Unterkomponenten (von patternS) in einem einfachen Namensparser kommentieren:

    String testTarget = "Waldorf T. Flywheel";
    String patternS = "([A-Za-z]+)\\s+([A-Z]\\.)?\\s+([A-Za-z]+)";
    Pattern pattern = Pattern.compile(patternS, Pattern.COMMENTS);
    Assert.assertTrue(pattern.matcher(testTarget).matches());

EDIT: Für Beispiele des (? X) -Formats wäre ich ebenfalls dankbar.

BEARBEITEN: @ geowa4 hat einen guten Vorschlag, der eingebettete Kommentare vermeidet. Sinnce Java und andere haben eingebettete Kommentare bereitgestellt. In welchen Fällen sind sie hilfreich? (Ich glaube, ich habe einen Fall, aber ich wäre interessiert, andere zu sehen).

BEARBEITEN: Wie unten @mikej vermerkt, unterstützt der Regex die optionale Initialquelle nicht und wäre besser als:

        String patternS = "([A-Za-z]+)\\s+([A-Z]\\.\\s+)?([A-Za-z]+)";

aber das würde am Ende Platz in der Initiale extrahieren

Antworten auf die Frage(3)

Ihre Antwort auf die Frage