Saltar al contenido

Cómo validar que un string solo contiene letras minúsculas?

Jazmín, miembro de nuestro equipo de trabajo, nos hizo el favor de escribir este enunciado ya que conoce muy bien dicho tema.

usas el comienzo y fin marcadores, ^ y $ respectivamente, para indicar el comienzo y el final de la string en su patrón de expresión regular. De esa manera, puede hacer que la expresión coincida solo con el todo. string, no cualquier tipo de subcadena. En tu caso quedaría así:

preg_match("#^[a-z]*$#", "333k");

También puede, con uno de estos marcadores, especificar que el patrón solo debe coincidir con el principio o el final de la string.

Tenga en cuenta que el $ el ancla también coincide antes de la secuencia de caracteres de salto de línea que se encuentra al final de la string (sí, incluso si m no se especifica el indicador MULTILINE). Vea estas pruebas, todas devolviendo una coincidencia:

if (preg_match("#^[a-z]*$#", "ok")) echo "OK!n"; // => is OK!
if (preg_match("#^[a-z]*$#", "okn")) echo "OK!n"; // => is OK!
if (preg_match("#(*ANY)^[a-z]*$#", "okrn")) echo "OK!"; // => is also OK!

Puedes “arreglar” esto $ comportamiento mediante el uso de D modificador El compatible con PCRE PCRE_DOLLAR_ENDONLY modificador hacer el $ partido de anclaje en el muy final de la string (excluyendo la posición antes de la última línea nueva en el string).

/^d+$/D

es igual a

/^d+z/

y coincide con un todo string que consta de 1 o más dígitos y no coincidirá "123n", pero coincidirá "123".

Alternativamente, para anclar el string partido en el muy inicio y final de la string también podría considerar usar A y z anclas.

preg_match('~A[a-z]*z~', "333k");
             ^^      ^^

El A y z son inequívoco inicio y fin de string anclas en expresiones regulares de PHP (ya que su comportamiento no depende de ningún modificador de expresiones regulares, incluso si especifica el m modificador MULTILINE, seguirán afirmando string posiciones de inicio/fin). Vea más sobre los anclajes de expresiones regulares de PHP en la documentación de PHP.

Cuidado con Z sin embargo: Z coincidirá con todo string antes del último salto de línea, mientras que z solo coincidirá en el muy final de la string, es decir, después de todos los personajes que hay en el string (ver ¿Cuál es la diferencia entre z y Z en una expresión regular y cuándo y cómo la uso?)

valoraciones y comentarios

Recuerda algo, que tienes la capacidad de valorar este escrito si te fue preciso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *