Heim > Java > javaLernprogramm > Wie kann ich alle Regex-Übereinstimmungen in ein Array in Java extrahieren?

Wie kann ich alle Regex-Übereinstimmungen in ein Array in Java extrahieren?

Linda Hamilton
Freigeben: 2024-12-08 19:04:14
Original
1040 Leute haben es durchsucht

How Can I Extract All Regex Matches into an Array in Java?

String-Übereinstimmungen mithilfe von Regex-Ausdrücken in Java in ein Array extrahieren

In Java kann die Unfähigkeit, direkt ein Array von Regex-Übereinstimmungen abzurufen, Sie verwirren. Dieser Leitfaden befasst sich mit dieser Herausforderung und bietet Lösungen zum Erfassen aller Zeichenfolgen, die einem regulären Ausdruck entsprechen.

Der Schlüssel zum Abrufen dieser Übereinstimmungen liegt in der Verwendung eines Matchers, der iterativ Vorkommen findet:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

List<String> allMatches = new ArrayList<>();
Matcher m = Pattern.compile("your regex expression here")
    .matcher(yourStringHere);
while (m.find()) {
   allMatches.add(m.group());
}
Nach dem Login kopieren

Nachdem Sie allMatches mit den Übereinstimmungen gefüllt haben, können Sie es bei Bedarf in ein Array konvertieren:

allMatches.toArray(new String[0]);
Nach dem Login kopieren

Alternativ können Sie darüber nachdenken Verwenden von MatchResult, um Matching-Vorgänge zu vereinfachen. Eine Hilfsfunktion wie allMatches:

public static Iterable<MatchResult> allMatches(
      final Pattern p, final CharSequence input) {
  ...
}
Nach dem Login kopieren

ermöglicht Ihnen, über Übereinstimmungen zu iterieren, wie zum Beispiel:

for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) {
  System.out.println(match.group() + " at " + match.start());
}
Nach dem Login kopieren

Bereitstellung der Ausgabe:

a at 0
b at 1
a at 3
c at 4
a at 5
a at 7
b at 8
a at 10
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich alle Regex-Übereinstimmungen in ein Array in Java extrahieren?. 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