Maison >développement back-end >tutoriel php >Pourquoi `preg_match` génère-t-il une erreur « Le délimiteur ne doit pas être alphanumérique ou barre oblique inverse » ?
Lorsque vous essayez d'utiliser la fonction preg_match avec un modèle, vous pouvez rencontrer l'erreur "Le délimiteur ne doit pas être alphanumérique ou barre oblique inverse." Cette erreur indique que le délimiteur utilisé dans le modèle n'est pas valide.
Un délimiteur est un caractère qui sépare le modèle du reste de la chaîne. Dans l'extrait de code fourni, le modèle est défini comme "$pattern = "Mon nom est '(.*)' et je vais bien"". Le délimiteur utilisé ici est les guillemets doubles ("") qui n'est pas valide.
Pour résoudre cette erreur, vous devez spécifier un délimiteur valide pour le modèle. Un délimiteur valide peut être n'importe quel caractère non alphanumérique et une barre oblique inverse (). Les délimiteurs couramment utilisés incluent la barre oblique (/), le signe dièse (#) et le symbole de barre verticale (|).
Dans cet exemple, nous utiliserons la barre oblique comme délimiteur :
$pattern = "/My name is '(.*)' and im fine/";
Ce modèle a maintenant un délimiteur valide et devrait fonctionner correctement lorsqu'il est utilisé avec preg_match function.
Les délimiteurs sont cruciaux dans les expressions régulières car ils séparent le motif du reste de la chaîne. Sans un délimiteur approprié, le moteur d’expression régulière ne saurait pas où se termine le modèle et où commence le texte. Cela peut conduire à des résultats ou à des erreurs inattendus.
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!