Expresiones Regulares
Las expresiones regulares deberían carecer de espacios en blanco, dado
que los mismos se interpretan como el final de la expresión regular corriente.
Existe una excepción, y es cuando aparecen entre comillas dobles, caso
en el que se interpretan como espacios en blanco.
El alfabeto de JLex es el conjunto de caracteres ASCII, entre los códigos
0 y 127 inclusive.
Los siguientes caracteres, en JLex son metacaracteres con significado especial en las expresiones regulares:
? * + | ( ) ^ $ . [ ] { } " \
Las expresiones regulares pueden relacionarse de distintas maneras:
ef | Representa la concatenación de dos expresiones regulares e y f. |
e|f | La barra vertical (|) representa una opción entre las expresiones e y f. |
Las siguientes secuencias de escape son las que pueden reconocerse y expandirse:
secuencia | semántica |
\b | retroceso(Backspace) |
\n | nueva línea (newline) |
\t | tabulación (Tab) |
\f | Formfeed |
\r | retorno de carro |
\ddd | número formado por tres dígitos octales ddd |
\xdd | número formado por dos dígitos hexadecimales. |
\udddd | caracter Unicode que representa un número formado por dos dígitos hexadecimales. |
\^C | caracter de control. |
\c | A backslash followed by any other character c matches itself |
$ | El signo ($) denota el final de una línea. Si $ concluye una expresión reutlar, la expresión sólo es reconocida al final de la línea. |
. | El punto (.) reconoce cualquier caracter excepto la nueva línea, entonces es una expresión equivalente a [^\n]. |
{name} | Las llaves denotan una expansión de macro, donde name es el nombre de la macro. |
* |
El asterisco (*) representa la clausurea de Kleene y reconoce cero o más
repeticiones de la expresión regular que lo precede. |
+ | El signo mas (+) reconoce una o más repeticiones de la expresión regular que lo precede, por lo que e+ es equivalente a ee*. |
? | El signo de pregunta (?) reconoce cero o una repetición de la expresión que lo precede. |
(...) | Los paréntesis se utilizan para agrupar expresiones regulares. |
[...] | Los corchetes denotan una clase de caracteres y reconocen cualquiera de los caracteres encerrados entre los mismos. |
Los metacaracteres "..." pierden su significado cuando están
entre comillas, mientras que la secuencia \" (que representa al caracter
simple ") es la única excepción.