Maison >Java >javaDidacticiel >Le titre pourrait être : Comment fonctionnent les groupes de capture dans les expressions régulières Java et quels sont leurs avantages ?
Capturer des groupes dans Java Regex
Comprendre la capture de groupes dans Java Regex peut améliorer vos capacités de correspondance de modèles. Examinons de plus près le code que vous avez fourni.
L'expression régulière "(.)(d )(.)" se compose de trois groupes de capture :
Lors de l'exécution de cette regex, nous rencontrons un problème avec le type de quantificateur utilisé dans le premier groupe. Le quantificateur gourmand () correspond à autant de texte que possible, conduisant à des résultats inattendus. Pour résoudre ce problème, nous le remplaçons par un quantificateur réticent (?), qui correspond au moins de caractères possible tout en remplissant la condition.
Regex améliorée :
String pattern = "(.*?)(\d+)(.*)";
Avec cette modification, le premier groupe ne correspond plus à tous les personnages disponibles. Au lieu de cela, il s'arrête au premier chiffre, offrant un résultat plus souhaitable :
group 1: This order was placed for QT group 2: 3000 group 3: ! OK?
Les groupes de capture offrent plusieurs avantages :
En Java 6, les groupes ne peuvent être référencés que par leur ordre. Cependant, dans Java 7 et versions ultérieures, les groupes nommés offrent une plus grande flexibilité et une plus grande facilité d'utilisation.
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!