Heim >Java >javaLernprogramm >Wie ordne ich Kommas außerhalb von Klammern mit regulären Java-Ausdrücken zu?
Abgleichen von Kommas außerhalb von Klammern mit regulären Java-Ausdrücken
Bei einer gegebenen Zeichenfolge mit möglicherweise in Klammern eingeschlossenen Kommas besteht das Ziel darin, Kommas zu identifizieren, die es sind nicht in einer Klammergruppierung enthalten. Dies kann durch einen benutzerdefinierten regulären Ausdruck erreicht werden.
Java-Regex-Lösung
Unter der Annahme, dass in der Eingabezeichenfolge keine verschachtelten Klammern vorhanden sind, kann der folgende reguläre Java-Ausdruck verwendet werden :
Pattern regex = Pattern.compile( ", # Match a comma\n" + "(?! # only if it's not followed by...\n" + " [^(]* # any number of characters except opening parens\n" + " \) # followed by a closing parens\n" + ") # End of lookahead", Pattern.COMMENTS);
Dieses Regex-Muster nutzt eine negative Lookahead-Behauptung, um zu überprüfen, dass die nächste aufeinanderfolgende Klammer (falls vorhanden) nicht vorhanden ist eine schließende Klammer. Nur in diesem Szenario darf das Komma abgeglichen werden.
Verwendung und Erklärung
Das Muster ist in zwei Hauptkomponenten unterteilt:
Durch den Ausschluss von in Klammern eingeschlossenen Kommas erfasst dieser reguläre Ausdruck effektiv nur die Kommas, die außerhalb einer Klammergruppierung vorhanden sind.
Das obige ist der detaillierte Inhalt vonWie ordne ich Kommas außerhalb von Klammern mit regulären Java-Ausdrücken zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!