Saltar al contenido

Expresión regular para que coincida solo con caracteres alfabéticos

Solución:

Puede utilizar cualquiera de estas 2 variantes:

/^[A-Z]+$/i
/^[A-Za-z]+$/

para que coincida con una cadena de entrada de alfabetos ASCII.

  • [A-Za-z] coincidirá con todos los alfabetos (tanto en minúsculas como en mayúsculas).
  • ^ y $ se asegurará de que nada más que estos alfabetos coincidan.

Código:

preg_match('/^[A-Z]+$/i', "abcAbc^Xyz", $m);
var_dump($m);

Producción:

array(0) {
}

Caso de prueba es para el comentario de OP que quiere igualar sólo si hay 1 o más alfabetos presentes en la entrada. Como puede ver en el caso de prueba, las coincidencias fallaron porque hubo ^ en la cadena de entrada abcAbc^Xyz.

Nota: Tenga en cuenta que la respuesta anterior solo coincide con alfabetos ASCII y no coincide con los caracteres Unicode. Si desea hacer coincidir letras Unicode, use:

/^p{L}+$/u

Aquí, p{L} coincide con cualquier tipo de letra de cualquier idioma

Si necesita incluir caracteres alfabéticos que no sean ASCII, y si su tipo de expresión regular es compatible con Unicode, entonces

ApL+z

sería la expresión regular correcta.

Algunos motores de expresiones regulares no admiten esta sintaxis Unicode pero permiten la w taquigrafía alfanumérica para que coincida también con caracteres no ASCII. En ese caso, puede obtener todos los alfabéticos restando dígitos y guiones bajos de w como esto:

A[^Wd_]+z

A coincide con el comienzo de la cadena, z al final de la cadena (^ y $ también coinciden al principio / final de las líneas en algunos lenguajes como Ruby, o si se establecen ciertas opciones de expresiones regulares).

Esto coincidirá con uno o más caracteres alfabéticos:

/^[a-z]+$/

Puede hacer que no distinga entre mayúsculas y minúsculas usando:

/^[a-z]+$/i

o:

/^[a-zA-Z]+$/
¡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 *