Maison >Java >javaDidacticiel >Modèles de correspondance d'expressions régulières Java (gourmands, réticents, possessifs)
Gaviourdité : Correspondance maximale
X?, X*, X, X{n,} est la correspondance maximale. Par exemple, si vous souhaitez utiliser "8dfe5a5dfa70a1fe175d4a042ee1cdaf" pour faire correspondre "aa34de1251f0d9fe1e645927f19a896e8aava fd273fcf5bcad3dfdad3c41bd81ad3e5abb", le résultat attendu correspond peut-être à "a34de1251f0d9fe1e645927f19a896e8", mais le résultat réel correspondra à "a34de1251f0d9fe1e645927f19a896e8aava fd273fcf5bcad3dfdad3c41bd81ad3e5.
En mode gourmandise, il essaiera de faire correspondre une plage aussi large que possible jusqu'à ce que tout le contenu corresponde. À ce moment-là, lorsqu'il est trouvé que le match ne peut pas réussir, il commencera à se réduire à de petits matchs jusqu'à ce que l'appariement soit réussi
String test = "a<tr>aava </tr>abb "; String reg = "<.+>"; System.out.println(test.replaceAll(reg, "###"));
Sortie : a###abb
Réticent. (Paresse) (type réticent) : correspondance minimale
X??, X*?, >En mode Réticent, tant que le match est réussi, il n'essaiera plus de faire correspondre un éventail de contenus plus large
String test = "a<tr>aava </tr>abb "; String reg = "<.+?>"; System.out.println(test.replaceAll(reg, "###"));
Différent de la gourmandise, faisant correspondre le contenu deux fois en mode réticent
Posssif (possessif) : correspondance complète
X ?, X*, Correspondance exacte.
Le mode possessif a une certaine similitude avec la gourmandise, c'est-à-dire qu'il essaie de faire correspondre la plus grande gamme de contenus jusqu'à la fin du contenu, mais contrairement à la gourmandise, la correspondance exacte ne retombe plus. et essaie de faire correspondre une plage de taille plus petite
String test = "a<tr>aava </tr>abb "; String reg = "<.++>"; String test2 = "<tr>"; String reg2 = "<tr>"; System.out.println(test.replaceAll(reg, "###")); System.out.println(test2.replaceAll(reg2, "###"));
Sortie : aa34de1251f0d9fe1e645927f19a896e8aava fd273fcf5bcad3dfdad3c41bd81ad3e5abb
Plus de modèles de correspondance d'expressions régulières Java. (type gourmand, réticent, type possessif), veuillez faire attention au site PHP chinois