solo regulares regular probar numeros matches letras expresiones expresion espacios espacio ejemplos ejemplo blanco alfanumerico regex language-agnostic letter

regulares - Regex para unir solo letras



matches java ejemplo (15)

¿Cómo puedo escribir una expresión regular que solo coincida con letras?


Dependiendo de su significado de "carácter":

[A-Za-z] - todas las letras (mayúsculas y minúsculas)

[^0-9] - todos los caracteres sin dígitos


Java:

String s= "abcdef"; if(s.matches("[a-zA-Z]+")){ System.out.println("string only contains letters"); }


La expresión regular que pocas personas han escrito como "/ ^ [a-zA-Z] $ / i" no es correcta porque la última vez que mencionaron / i, que es para mayúsculas y minúsculas, volverá después de la primera comparación. En lugar de /, solo uso / g, que es global, y tampoco tiene ninguna necesidad de poner ^ $ para comenzar y terminar.

/[a-zA-Z]+/g

  1. [a-z _] + coincide con un solo carácter presente en la lista a continuación
  2. Cuantificador: + Entre uno e ilimitado, tantas veces como sea posible, devolviendo según sea necesario
  3. az un solo carácter en el rango entre a y z (distingue entre mayúsculas y minúsculas)
  4. AZ un solo carácter en el rango entre A y Z (distingue entre mayúsculas y minúsculas)
  5. Modificador g : global. Todos los partidos (no volver en el primer partido)

La opción más cercana disponible es

[/u/l]+

que coincide con una secuencia de letras mayúsculas y minúsculas. Sin embargo, no es compatible con todos los editores / idiomas, por lo que probablemente sea más seguro de usar

[a-zA-Z]+

como sugieren otros usuarios


Para PHP, lo siguiente funcionará bien

''/^[a-zA-Z]+$/''


Puede probar esta expresión regular: [^/W/d_] o [a-zA-Z] .


Si te refieres a las letras en cualquier codificación de caracteres, entonces un buen enfoque podría ser eliminar las no letras como espacios, dígitos /d , y otros caracteres especiales como:

[!@#/$%/^&/*/(/)/[/]:;''",/. ...more special chars... ]

O use la negación de la negación anterior para describir directamente cualquier letra:

/S /D and [^ ..special chars..]

Pros:

  • Funciona con todos los sabores regex.
  • Fácil de escribir, a veces ahorra mucho tiempo.

Contras:

  • Largo, a veces no es perfecto, pero la codificación de caracteres puede romperse también.

Solo usa /w o [:alpha:] . Es una secuencia de escape que coincide solo con símbolos que pueden aparecer en palabras.


Usar grupos de personajes

/D

Coincide con cualquier carácter excepto los dígitos 0-9

^/D+$

Ver ejemplo here


Use un juego de caracteres: [a-zA-Z] coincide con una letra de la A a la Z en minúsculas y mayúsculas. [a-zA-Z]+ coincide con una o más letras y ^[a-zA-Z]+$ solo coincide con cadenas que constan de una o más letras ( ^ y $ marcan el principio y el final de una cadena, respectivamente).

Si desea hacer coincidir otras letras distintas de la A a la Z, puede agregarlas al conjunto de caracteres: [a-zA-ZäöüßÄÖÜ] . O usa clases de caracteres predefinidas como la clase de propiedad de caracteres Unicode /p{L} que describe los caracteres Unicode que son letras.


Usted usaría

/[a-z]/gi

[] - comprueba si hay caracteres entre las entradas dadas

az --- cubre todo el alfabeto

g ----- globalmente a lo largo de toda la cadena

i ----- obteniendo mayúsculas y minúsculas


patrón = / [a-zA-Z] /

pone "[a-zA-Z]: # {pattern.match (" mine blossom ")}" OK

pone "[a-zA-Z]: # {pattern.match (" 456 ")}"

pone "[a-zA-Z]: # {pattern.match (" ")}"

pone "[a-zA-Z]: # {pattern.match (" # $% ^ & * ")}"

pone "[a-zA-Z]: # {pattern.match (" # $% ^ & * A ")}" OK


/p{L} coincide con cualquier cosa que sea una letra Unicode si estás interesado en alfabetos más allá del latino



Pattern pattern = Pattern.compile("^[a-zA-Z]+$"); if (pattern.matcher("a").find()) { ...do something ...... }