Maison > Java > javaDidacticiel > Comment puis-je créer un tableau de chaînes à partir de correspondances Regex en Java ?

Comment puis-je créer un tableau de chaînes à partir de correspondances Regex en Java ?

Patricia Arquette
Libérer: 2024-11-29 14:43:13
original
233 Les gens l'ont consulté

How Can I Create an Array of Strings from Regex Matches in Java?

Création de tableaux à partir de correspondances Regex

En Java, les correspondances regex sont généralement vérifiées sous forme de valeurs booléennes, indiquant si un modèle correspond à une chaîne. Cependant, il est possible d'extraire les chaînes correspondantes d'une expression régulière dans un tableau.

Pour y parvenir, vous pouvez utiliser un Matcher :

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

...

List<String> allMatches = new ArrayList<>();
Matcher m = Pattern.compile("your regular expression here").matcher(yourStringHere);
while (m.find()) {
    allMatches.add(m.group());
}
Copier après la connexion

Le code ci-dessus utilise un Pattern pour créez une instance Matcher, qui est ensuite utilisée pour identifier les correspondances de manière itérative. Chaque correspondance est ajoutée à une liste et vous pouvez convertir la liste en tableau en utilisant :

allMatches.toArray(new String[0]);
Copier après la connexion

Vous pouvez également créer un itérateur personnalisé pour permettre une itération paresseuse sur les correspondances :

public static Iterable<MatchResult> allMatches(
      final Pattern p, final CharSequence input) {
  return new Iterable<MatchResult>() {
    ...
  };
}
Copier après la connexion

Avec cet itérateur, vous pouvez parcourir les correspondances sans avoir besoin de trouver immédiatement toutes les correspondances possibles.

Comme démontré dans le code extrait :

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

Cela affichera :

a at 0
b at 1
a at 3
c at 4
a at 5
a at 7
b at 8
a at 10
Copier après la connexion

Démontrant comment les correspondances peuvent être consultées de manière itérative à l'aide de l'implémentation MatchResult.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal