Maison > développement back-end > Golang > Comment rendre un mot entier facultatif dans une expression régulière ?

Comment rendre un mot entier facultatif dans une expression régulière ?

PHPz
Libérer: 2024-02-09 10:36:09
avant
493 Les gens l'ont consulté

Comment rendre un mot entier facultatif dans une expression régulière ?

l'éditeur php Banana vous présentera comment rendre le mot entier facultatif dans les expressions régulières dans cet article. Les expressions régulières sont de puissants outils de correspondance de texte qui peuvent être utilisés pour rechercher, remplacer et valider des chaînes. Parfois, nous souhaitons qu'un certain mot soit facultatif lors de la correspondance, c'est-à-dire que le mot peut apparaître dans la chaîne, mais il n'a pas non plus besoin d'apparaître. Avec quelques techniques simples, nous pouvons implémenter cette fonction dans des expressions régulières pour rendre la correspondance plus flexible et plus complète. Voyons ensuite les méthodes spécifiques !

Contenu de la question

Autrement dit, je souhaite personnaliser mon regex pour reconnaître ce qui suit apple 和柠檬apple 柠檬apple 和 以及 apple。我希望 andlemon 是可选的,目前我只设法使 and 可选,而不是 lemon .

Ce serait formidable si cela pouvait être réalisé en utilisant le format regex actuel.

Expression régulière :

\b([a][\W_]*?)+([p][\W_]*?)+([p][\W_]*?)+([l][\W_]*?)+([e][\W_]*?)+(([a][\W_]*?)+([n][\W_]*?)+([d][\W_]*?))?([l][\W_]*?)+([e][\W_]*?)+([m][\W_]*?)+([o][\W_]*?)+([n][\W_]*?)+\b
Copier après la connexion

Expressions régulières 101 :

https://regex101.com/r/wte6gg/2

Solution

L'expression suivante doit commencer par "pomme", puis peut être suivie de "citron" et "et", si les deux suivent, alors vous il faut suivre l'ordre de "et Citron" est-ce que cela aide?

b(苹果)( ?和)?( ?柠檬)?b

//m.sbmmt.com/link/11eba2991cc62daa4a85be5c0cfdae97

Modifier

Avec votre format, les éléments suivants devraient fonctionner :

b([a][W_]*?)+([p][W_]*?)+([p][W_]*?)+([l][W_] *?)+([e][W_]*?)+(([W_]*)([a][W_]*?)+([n][W_]*?)+([ d][W_]*?)+)?(([W_]*)([l][W_]*?)+([e][W_]*?)+([m][ W_]*?)+([o][W_]*?)+([n][W_]*?)+)?b

//m.sbmmt.com/link/00693ceec3aa42db186efa62ed8917d2

Si c'est ce que vous recherchez, veuillez le marquer comme réponse.

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!

source:stackoverflow.com
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