Maison >Java >javaDidacticiel >Comment puis-je extraire toutes les correspondances Regex dans un tableau en Java ?
En Java, l'incapacité d'obtenir directement un tableau de correspondances d'expressions régulières peut vous laisser perplexe. Ce guide relève ce défi en proposant des solutions pour capturer toutes les chaînes conformes à une expression régulière.
La clé pour récupérer ces correspondances réside dans l'utilisation d'un matcher, qui localise de manière itérative les occurrences :
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()); }
Après avoir rempli allMatches avec les correspondances, vous pouvez le convertir en tableau si nécessaire :
allMatches.toArray(new String[0]);
Vous pouvez également envisager d'utiliser MatchResult pour simplifier les opérations de correspondance. Une fonction d'assistance comme allMatches :
public static Iterable<MatchResult> allMatches( final Pattern p, final CharSequence input) { ... }
vous permet de parcourir les correspondances, telles que :
for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) { System.out.println(match.group() + " at " + match.start()); }
Fournir le résultat :
a at 0 b at 1 a at 3 c at 4 a at 5 a at 7 b at 8 a at 10
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!