Expresiones regulares PHP: No se encuentra el delimitador final '^' en

I've been having some trouble with regular expressions.

Este es mi codigo

$pattern = "^([0-9]+)$";

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";

I run it and get:

Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in

preguntado el 08 de enero de 11 a las 17:01

Puedes usar Biblioteca T-Regx, that doesn't need delimiters. -

3 Respuestas

PHP regex strings need delimiters. Try:

$numpattern="/^([0-9]+)$/";

Also, note that you have a lower case o, not a zero. In addition, if you're just validating, you don't need the capturing group, and can simplify the regex to /^\d+$/.

Ejemplo: http://ideone.com/Ec3zh

Ver también: PHP - Delimiters

Respondido el 08 de enero de 11 a las 20:01

For those who do not read linked materials, use [ y ] delimiters, otherwise you run into conflicts with the pattern itself. - greenoldman

Your regex pattern needs to be in delimiters:

$numpattern="/^([0-9]+)$/";

Respondido el 08 de enero de 11 a las 20:01

Puedes usar Biblioteca T-Regx, that doesn't need delimiters

pattern('^([0-9]+)$')->match($input);

Respondido 09 Oct 18, 16:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.