Estoy tratando de escribir una expresión regular que solo permita letras minúsculas y hasta 10 caracteres. Lo que tengo hasta ahora se ve así:
pattern: /^[a-z]{0,10}+$/
Esto no funciona ni se compila. Tenía una que funcionaba que solo permitía letras minúsculas, que era esta:
pattern: /^[a-z]+$/
Pero necesito limitar el número de caracteres a 10.
^[a-z]{0,10}+$
compila en algunos lenguajes y algunos de los más notables son Java, Perl (5.10+), PHP, Ruby (1.9+). Vea esta página para más detalles.Respuestas:
Puede usar llaves para controlar el número de ocurrencias. Por ejemplo, esto significa 0 a 10:
Las opciones son:
Ver la referencia de expresión regular .
Su expresión tenía un + después del cierre de llaves, de ahí el error.
fuente
^
para que las propiedades coincidan SOLO con un nombre como1234
o5678
, y tuve que incluir el signo $/^[a-z]{0,10}$/
Deberia trabajar./^[a-z]{1,10}$/
si quieres unir al menos un personaje, como lo/^[a-z]+$/
hace.fuente
Puede ser beneficioso agregar una coincidencia codiciosa al final de la cadena, por lo que puede aceptar cadenas> de 10 y la expresión regular solo devolverá hasta los primeros 10 caracteres.
/^[a-z0-9]{0,10}$?/
fuente
Depende mucho del programa que esté utilizando. Los diferentes programas ( Emacs , vi , sed y Perl ) usan expresiones regulares ligeramente diferentes. En este caso, diría que en el primer patrón, el último "+" debería eliminarse.
fuente
Da los recuentos con recuento exacto con límite
fuente