Heim >Java >javaLernprogramm >Wie ordne ich Kommas außerhalb von Klammern mit regulären Java-Ausdrücken zu?

Wie ordne ich Kommas außerhalb von Klammern mit regulären Java-Ausdrücken zu?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-23 00:23:14980Durchsuche

How to Match Commas Outside Parentheses Using Java Regular Expressions?

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:

  1. Abgleich des Kommas: Der reguläre Ausdruck beginnt mit einer einfachen Übereinstimmung für jeden Standalone Komma.
  2. Negative Lookahead-Behauptung: Der folgende Teil, der in Klammern eingeschlossen ist und durch (?!) vorangestellt wird, besagt, dass die Zeichenfolge, die auf das Komma folgt, nicht mit dem angegebenen Muster übereinstimmen sollte. In diesem In diesem Fall wird sichergestellt, dass nicht alle Zeichen bis einschließlich der nächsten schließenden Klammer (dargestellt durch [^)]* \)) sind vorhanden.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn