Comment utiliser correctement les limites des mots dans les expressions régulières PHP ?

DDD
Libérer: 2024-10-21 07:24:03
original
481 Les gens l'ont consulté

How to Correctly Use Word Boundaries in PHP Regular Expressions?

Comprendre la fonctionnalité de limite de mots dans les expressions régulières PHP

Lorsque vous essayez d'implémenter des limites de mots pour faire correspondre des mots spécifiques dans le contenu à l'aide d'expressions régulières en PHP, il est essentiel de comprendre leur comportement précis. Cependant, lors des tests, des résultats inattendus peuvent survenir.

Dans l'exemple fourni, l'expression "^|b@nimal/i" a été utilisée pour correspondre au mot "cat" uniquement s'il apparaît au début d'un autre mot. Cependant, les résultats étaient contre-intuitifs, conduisant à une confusion sur la façon dont PHP détermine les limites des mots.

La clé pour comprendre la correspondance des limites des mots réside dans la nature de b. Cet indicateur correspond au point de transition entre un w (caractère de mot) et un W (caractère autre qu'un mot). Pour qu'une correspondance réussisse, il doit exister un caractère de mot avant le caractère d'intérêt.

Considérons le premier exemple :

preg_match("/(^|\b)@nimal/i", "something@nimal", $match);
Copier après la connexion

L'expression correspond à une limite de mot entre "g" et "@", car "g" est un caractère de mot et "@" est un caractère autre qu'un mot.

Dans le deuxième exemple :

preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);
Copier après la connexion

Aucune correspondance ne se produit car il n'y a pas de mot caractère avant "@". Les deux "!" et "@" ne sont pas des caractères de mot.

Pour résoudre le problème, commencez par un caractère de mot avant le caractère que vous souhaitez faire correspondre. Cela garantit la présence d'une limite de mot valide.

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:php
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!