Una expresión regular es una secuencia de caracteres que actúa como modelo para la coincidencia y manipulación de series. Las expresiones
regulares se utilizan en funciones fn:matches, fn:replace y fn:tokenize.
Sintaxis
.-|----------------------------------------------------.
| .------------------------------------. |
V V | |
>>---+---+----+-carácter----------------+--+---+-+--+---+-+----><
'-^-' +-.-----------------------+ +-?-+ '-$-'
+-escape-clase-carácter---+ +-*-+
+-[--grupo-caracteres--]--+ '-+-'
'-(--expresión-regular--)-'
grupo-caracteres
.----------------------------------------------------------.
V |
>>-+---+----+-carácter--------------+--+---------------------------+-+-><
'-^-' '-escape-clase-carácter-' '-+-carácter--------------+-'
'-escape-clase-carácter-'
- carácter
- En una expresión regular, un carácter es un carácter XML normal que no es un metacarácter.
- metacaracteres
- Los metacaracteres son caracteres de control en las expresiones regulares. Los metacaracteres de expresiones regulares que están soportados actualmente son:
- barra inclinada invertida (\)
- Inicia un escape de clase de carácter. Un escape de clase de carácter indica que el metacarácter siguiente debe utilizarse como carácter, en
lugar de un metacarácter.
- punto (.)
- Coincide con cualquier carácter individual, excepto con el carácter de nueva línea (\n).
- signo de intercalación (^)
- Si el carácter de intercalación aparece fuera de una clase de carácter, los caracteres que le siguen coinciden con
el inicio de la serie
de entrada o, para series de entrada de varias líneas, con el inicio de una línea. Una serie de entrada se considera como una serie de entrada de varias líneas si la función que
utiliza la serie de entrada incluye el distintivo m.
Si el carácter de intercalación aparece como primer carácter en una clase de
carácter,
el carácter de intercalación actúa como un signo de negación. Se produce una coincidencia si ninguno de los caracteres del grupo de caracteres aparece en
la serie que se compara con la expresión regular.
- signo de dólar ($)
- Coincide con el final de la serie de entrada o, para series de entrada de varias líneas, con el final de una línea. Una serie de entrada se considera como una serie de entrada de varias líneas si la función que utiliza la serie de entrada incluye el
distintivo m.
- signo de interrogación (?)
- Coincide con el carácter o grupo de caracteres anteriores de la expresión regular cero o una vez.
- asterisco (*)
- Coincide con el carácter o grupo de caracteres anteriores de la expresión regular de cero o más veces.
- signo Más (+)
- Coincide con el carácter o grupo de caracteres anteriores de la expresión regular una o más veces.
- barra vertical (|)
- Coincide con el carácter (o grupo de caracteres) anterior o el carácter (o grupo de caracteres) siguiente.
- corchete de apertura ([) y corchete de cierre (])
- Los corchetes de apertura y cierre y el grupo de caracteres que incluyen definen una clase de carácter. Por ejemplo, la clase de carácter [aeiou] coincide con cualquier vocal. Las clases de carácter también admiten rangos de
caracteres. Por ejemplo:
- [a-z] significa cualquier letra minúscula.
- [a-p] significa cualquier letra minúscula de la a a la p.
- [0-9] significa cualquier dígito único.
- paréntesis de apertura (() y paréntesis de cierre ())
- Un paréntesis de apertura y uno de cierre indican una agrupación de algunos caracteres dentro de una expresión regular. A continuación, puede aplicar
un operador, como por ejemplo un operador de repetición, a todo el grupo.
La llave de apertura ({) y la llave de cierre (})
también
son metacaracteres, pero actualmente no están soportados.
- escape-clase-carácter
- Un escape de clase de carácter especifica que determinados caracteres especiales deben tratarse como caracteres, en
lugar de realizar alguna
función. Un escape de clase de carácter consta de una barra inclinada invertida (\), seguida de un único metacarácter, carácter de nueva
línea,
carácter de retorno o carácter de tabulación. La tabla siguiente lista los escapes de clase de carácter.
- grupo-caracteres
- Un grupo de caracteres es el conjunto de caracteres de una clase de carácter. La clase de carácter se utiliza para la comparación. Puede constar de
caracteres, rangos de caracteres, escapes de clase de carácter y un símbolo de apertura opcional. Si incluye el signo de intercalación, indica el complemento
del
conjunto de caracteres definidos por el resto del grupo de caracteres.
Ejemplos
Los ejemplos siguientes muestran cómo afecta cada uno de los metacaracteres a una expresión regular.