Heim >Java >javaLernprogramm >Wie rufe ich mit regulären Java-Ausdrücken ein Array von Übereinstimmungen aus einer Zeichenfolge ab?

Wie rufe ich mit regulären Java-Ausdrücken ein Array von Übereinstimmungen aus einer Zeichenfolge ab?

Linda Hamilton
Linda HamiltonOriginal
2024-11-24 11:59:12202Durchsuche

How to Retrieve and Array of Matches from a String Using Java Regular Expressions?

Übereinstimmungen mithilfe regulärer Ausdrücke in Java abrufen

Das Abrufen eines Arrays von Übereinstimmungen aus einer bestimmten Zeichenfolge mithilfe regulärer Ausdrücke in Java erfordert das Erstellen eines Matchers und Über Übereinstimmungen iterieren.

Mit a Matcher

Erstellen Sie ein Matcher-Objekt mit der Kompilierungsmethode der Pattern-Klasse:

Matcher m = Pattern.compile("regex_expression").matcher(input_string);

Über Übereinstimmungen iterieren

Verwenden Sie die Suchfunktion Methode des Matchers zum Durchlaufen von Übereinstimmungen:

List<String> allMatches = new ArrayList<>();
while (m.find()) {
  allMatches.add(m.group());
}

Konvertieren to Array

Wenn Sie ein Array von Übereinstimmungen benötigen, verwenden Sie die toArray-Methode:

String[] matchesArray = allMatches.toArray(new String[0]);

Erweiterte Methoden mit MatchResult (Java >= 9)

In Java 9 und höher können Sie die toMatchResult-Methode für einen Matcher verwenden, um ein MatchResult zu erstellen Objekt. Dies stellt Methoden zum Erstellen verzögerter Iteratoren für eine effiziente Schleife über Übereinstimmungen bereit:

for (MatchResult match : MatchResult.findAll(p, input)) {
  // Use match information without advancing iteration...
}

Dieser Code verwendet beispielsweise die Hilfsmethode „allMatches“, um über Übereinstimmungen zu iterieren und ihre Gruppen und Positionen auszugeben:

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

Das obige ist der detaillierte Inhalt vonWie rufe ich mit regulären Java-Ausdrücken ein Array von Übereinstimmungen aus einer Zeichenfolge ab?. 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