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 la correspondance ne peut pas réussir, elle commencera à se réduire à de petites correspondances jusqu'à ce que la correspondance soit réussie
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 minimum
X??, .
En mode Réticent, tant que le match est réussi, il ne tentera plus de faire correspondre un plus grande gamme de contenu
String test = "a<tr>aava </tr>abb "; String reg = "<.+?>"; System.out.println(test.replaceAll(reg, "###"));
Sortie : a###aava # ##abb
Différent de la gourmandise, le contenu est mis en correspondance deux fois en mode réticent
Possessif (possessif) : correspondance exacte
X?, X*, X, X{n, } est une 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 contenu jusqu'à la fin du contenu, mais c'est différent de la gourmandise Oui, la correspondance exacte ne consiste plus à essayer de faire correspondre une plage 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
Pour plus d'articles sur les modèles de correspondance d'expressions régulières Java (gourmands, réticents, possessifs), veuillez prêter attention au. Site Web PHP chinois