J'ai eu des problèmes avec les expressions régulières.
C'est mon code
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
Je le lance et obtient:
Attention: preg_match () [function.preg-match]: Aucun délimiteur de fin '^' trouvé dans
php
regex
preg-match
pcre
fingerman
la source
la source
Réponses:
Les chaînes de regex PHP ont besoin de délimiteurs. Essayer:
Notez également que vous avez un o minuscule, pas un zéro. De plus, si vous venez de valider, vous n'avez pas besoin du groupe de capture et pouvez simplifier l'expression régulière en
/^\d+$/
.Exemple: http://ideone.com/Ec3zh
Voir aussi: PHP - Délimiteurs
la source
[
et]
délimiteurs, sinon vous rencontrez des conflits avec le modèle lui-même.Votre modèle d'expression régulière doit être entre des délimiteurs:
la source
Vous pouvez utiliser la bibliothèque T-Regx , qui n'a pas besoin de délimiteurs
la source