Heim > Java > javaLernprogramm > Hauptteil

Wie finde ich Kommas außerhalb von Klammern mithilfe von Regex in Java?

Barbara Streisand
Freigeben: 2024-11-12 09:21:02
Original
332 Leute haben es durchsucht

How to Find Commas Outside Parentheses Using Regex in Java?

Abgleichen von Kommas außerhalb von Klammern mit Regex

Das Abgleichen bestimmter Muster im Text ist eine häufige Aufgabe in der Programmierung, insbesondere bei der Arbeit mit Textdateien oder Benutzern Eingänge. In diesem Fall besteht das Ziel darin, alle Kommas in einer Zeichenfolge zu finden, die nicht in Klammern eingeschlossen sind.

Mithilfe von regulären Java-Ausdrücken kann man ein Regex-Muster erstellen, um dieses Ziel zu erreichen. Der bereitgestellte reguläre Ausdruck lautet:

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);
Nach dem Login kopieren

Dieses Muster gliedert sich wie folgt:

  • “, entspricht einem Komma.
  • (?! startet eine negative Lookahead-Behauptung .
  • [^(]* entspricht einer beliebigen Anzahl von Zeichen außer öffnenden Klammern.
  • \) entspricht einer schließenden Klammer.
  • ) beendet die negative Lookahead-Behauptung.

Der negative Lookahead stellt sicher, dass auf das aktuelle Komma keine schließende Klammer folgt. Dadurch werden Kommas in Klammern effektiv ausgeschlossen.

In Java kann die Pattern-Klasse zum Kompilieren und Abgleichen von Regex-Mustern verwendet werden . Das kompilierte Muster kann dann verwendet werden, um passende Teilzeichenfolgen in der Eingabezeichenfolge zu identifizieren.

Beispielverwendung:

String input = "12,44,foo,bar,(23,45,200),6";
Matcher matcher = regex.matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group());
}
Nach dem Login kopieren

Dieser Code gibt die Kommas aus, die nicht in Klammern stehen, wie durch angegeben der reguläre Ausdruck:

,
,
,
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie finde ich Kommas außerhalb von Klammern mithilfe von Regex in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage