Expresiones regulares

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

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual
   .-|----------------------------------------------------.   
   |        .------------------------------------.        |   
   V        V                                    |        |   
>>---+---+----+-carácter----------------+--+---+-+--+---+-+----><
     '-^-'    +-.-----------------------+  +-?-+    '-$-'     
              +-escape-clase-carácter---+  +-*-+              
              +-[--grupo-caracteres--]--+  '-+-'              
              '-(--expresión-regular--)-'                     

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual
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.
Tabla 1. Escapes de clase de carácter de carácter único
Escape de carácter Carácter representado Descripción
\n #x0A Nueva línea
\r #x0D Retorno
\t #x09 Tabulador
\\ \ Barra inclinada invertida
\| | Barra vertical
\. . Punto
\? ? Signo de interrogación
\* * Asterisco
\+ + Signo Más
\( ( Paréntesis de apertura
\) ) Paréntesis de cierre
\{ { Llave de apertura
\} } Llave de cierre
\$ $ Signo de dólar
\- - Guión
\[ [ Corchete de apertura
\] ] Corchete de cierre
\^ ^ Acento circunflejo
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.