Je suis assez nouveau pour les expressions régulières. Pourriez-vous m'aider à créer un modèle, qui correspond à des mots entiers, contenant une partie spécifique? Par exemple, si j'ai une chaîne de texte "Effectuer une correspondance d'expression régulière" et si je recherche express, elle devrait me donner expression, si je recherche formulaire, cela devrait me donner Perform et ainsi de suite. Vous avez l'idée?
preg_match('/\b(express\w+)\b/', $string, $matches); // matches expression
preg_match('/\b(\w*form\w*)\b/', $string, $matches); // matches perform,
// formation, unformatted
Où:
\b
est une limite de Word\w+
est un ou plusieurs caractères "Word"*\w*
est zéro ou plusieurs caractères "Word"Voir le manuel sur séquences d'échappement pour PCRE.
* Remarque: bien qu'il ne s'agisse pas vraiment d'un "caractère Word", le trait de soulignement _
est également inclus dans la classe de caractères \w
.
Cela correspond à "Perform":
\b(\w*form\w*)\b
Cela correspond à "expression":
\b(\w*express\w*)\b