Expresiones regulares es algo complejo y complicado por ahi, aunque me encantan :P
Te explico... El
^ representa el principio de una cadena, el
$ representa el final de una cadena...
Código php:
Ver original$pattern = '/^[0-9]{4,5}$/';
$subject = '2009';
else print 'false';
Pero no confundas el
^ con
[^]
Probra el ejemplo anterior cambiando esta variable:
[^0-9] significa: Ningún caracter entre el 0-9
o sea que la regexp. anterior se fija que la cadena de text No empieze con ningun número del 0 al 9
Vedria a ser lo mismo que
[0-9] pero
NEGATIVO
Si necesitas buscar un caracter como el
^ o el
$, acordate de escaparlos: ej.
\$
ya que sino te lo toma como parte de la expression... Estos son los caracters que deben ser escapados:
^ $ ( ) < . * + ? [ { \ | >
Te recomiendo leer este post: forosdelweb.com/f18/aporte-expresiones-pcre-646110/