Maison > Java > javaDidacticiel > le corps du texte

Comment récupérer et dresser un tableau de correspondances à partir d'une chaîne à l'aide d'expressions régulières Java ?

Linda Hamilton
Libérer: 2024-11-24 11:59:12
original
108 Les gens l'ont consulté

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

Récupérer des correspondances à l'aide d'expressions régulières en Java

Obtenir un tableau de correspondances à partir d'une chaîne donnée à l'aide d'expressions régulières en Java implique de créer un matcher et itérer sur les correspondances.

Utiliser un Matcher

Créez un objet Matcher à l'aide de la méthode de compilation de la classe Pattern :

Matcher m = Pattern.compile("regex_expression").matcher(input_string);
Copier après la connexion

Itération sur les correspondances

Utilisez la recherche méthode du Matcher pour parcourir les correspondances :

List<String> allMatches = new ArrayList<>();
while (m.find()) {
  allMatches.add(m.group());
}
Copier après la connexion

Conversion en Array

Si vous avez besoin d'un tableau de correspondances, utilisez la méthode toArray :

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

Méthodes améliorées avec MatchResult (Java >= 9)

Dans Java 9 et supérieur, vous pouvez utiliser la méthode toMatchResult sur un Matcher pour créer un Objet MatchResult. Cela fournit des méthodes pour créer des itérateurs paresseux pour une boucle efficace sur les correspondances :

for (MatchResult match : MatchResult.findAll(p, input)) {
  // Use match information without advancing iteration...
}
Copier après la connexion

Par exemple, ce code utilise la méthode d'assistance allMatches pour parcourir les correspondances, en imprimant leurs groupes et leurs positions :

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

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