Maison > Java > javaDidacticiel > le corps du texte

Exemple d'analyse de la correspondance de modèles gourmands d'expressions régulières dans les programmes Java

黄舟
Libérer: 2017-01-20 11:10:58
original
1598 Les gens l'ont consulté

Le mode gourmand est également appelé correspondance maximale. X?, tr>abb", peut-être que le résultat que vous attendez correspond à "", mais le résultat réel correspondra à "aava ". Examinons la cupidité en détail. Utilisation du mode.

Mode gourmand :

L'indicateur de quantité passe par défaut en mode gourmand, sauf indication contraire. Les expressions en mode gourmand continueront à correspondre jusqu'à ce qu'aucune correspondance ne soit trouvée. Si vous constatez que les résultats de la correspondance d'expression ne sont pas ceux attendus, c'est probablement parce que - vous pensiez que l'expression ne correspondrait qu'aux premiers caractères, mais en fait il s'agit d'un modèle gourmand, donc elle continuera à correspondre.
Gourmand et non gourmand, plus ? signifie non gourmand :

var s = '1023000'.match(/(\d+)(0*)/);
s
["1023000", "1023000", ""]
 
var s = '1023000'.match(/^(\d+)(0*)$/);
s
["1023000", "1023000", ""]
 
var s = '1023000'.match(/^(\d+?)(0*)$/);
s
["1023000", "1023", "000"]
 
var s = '1023000'.match(/(\d+?)(0*)/);
s
["10", "1", "0"]
Copier après la connexion

java aspku.com/kaifa/zhengze/" target="_blank"> Regular L'expression utilise par défaut le mode de correspondance gourmand et gourmand, qui est la correspondance la plus longue de ce type (.*). Si la correspondance la plus courte est requise, elle est remplacée par (.*?), qui est le mode de correspondance réticent. aspku.com/kaifa/zhengze/" target="_blank">正则表达式默认用的是greedy贪婪匹配模式既是这种类型(.*)的最长匹配,如果需要最短匹配则改为(.*?)即是勉强匹配模式。
Analyse du principe :
S'il s'agit d'un mode de correspondance gourmand, le moteur d'expression régulière fera la correspondance jusqu'à la fin de la chaîne. Lorsque la correspondance est fausse, il trouvera la première position correspondante du bas jusqu'à
. retour en arrière. Renvoie le résultat correspondant
Si le modèle correspond à peine, le moteur d'expression régulière fera correspondre le caractère à la fin du modèle, puis remontera un peu plus loin et constatera que la correspondance est fausse, puis reviendra en arrière. pour trouver la correspondance la plus récente renvoyée. La position true renvoie le résultat.
Regardez le code :
Exemple 1 :

Sortie :

Exemple 2 :

Sortie :

Ce qui précède est un exemple de correspondance de modèles gourmands d'expressions régulières dans des programmes Java. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal