regulares regular online expresiones examples ejemplos regex computer-science regular-language

regex - online - Representando identificadores usando expresiones regulares



regex replace (2)

La definición regular para reconocer identificadores en lenguaje de programación C es dada por

letter -> a|b|...z|A|B|...|Z|_ digit -> 0|1|...|9 identifier -> letter(letter|digit)*

Esta definición generará identificadores de la forma.

identificador: [_a-zA-Z][_a-zA-Z0-9]*

Mi pregunta ahora es cómo limitar la longitud del identificador que se puede generar a no más de 31 caracteres. Qué cambios deben realizarse en la definición regular o cómo escribir una expresión regular para limitarla a no más de la longitud especificada. ¿Alguien podría por favor ayudar? Gracias.


La expresión regular que estás buscando es:

[_a-zA-Z][_a-zA-Z0-9]{0,30}

Coincidirá con un guión bajo o una letra después de X , guiones bajos o letras , donde 0 <= X <= 30


Para limitar la longitud, usualmente se usan {} .
Por ejemplo, su expresión regular fue [a-zA-Z0-9]+ . Significa, permite cualquier valor alfanumérico, y la longitud debe ser mayor que igual a 1. Si queremos limitarlo para que no exceda los 31 caracteres, podemos reescribir la expresión regular como:

[a-zA-Z0-9]{1,31}

{1,31} indica que esto aceptará valores alfanuméricos de longitud mayor que igual a 1 y menor que igual a 31.
Puede hacer los cambios respectivos a su expresión regular.