Correspondencia de patrón Parle

Parle soporta la correspondencia de patrón con expresiones regulares similares a flex. Los siguientes conjuntos de caracteres POSIX también son soportados: [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:] .

Las clases de caracteres Unicode no están actualmente activadas por omisión, pase --enable-parle-utf32 para hacerlas disponibles. Una codificación particular puede ser mapeada con una regex correctamente construida. Por ejemplo, para corresponder al símbolo EURO codificado en UTF-8, la expresión regular [\xe2][\x82][\xac] puede ser utilizada. El patrón para una cadena codificada en UTF-8 podría ser [ -\x7f]{+}[\x80-\xbf]{+}[\xc2-\xdf]{+}[\xe0-\xef]{+}[\xf0-\xff]+.

Representación de caracteres

Representación de caracteres
SecuenciaDescripción
\aAlerta (campana).
\bRetroceso (Backspace).
\eCarácter ESC, \x1b.
\nNueva línea.
\rRetorno de carro.
\fSalto de página, \x0c.
\tTabulación horizontal, \x09.
\vTabulación vertical, \x0b.
\octCarácter especificado por un código octal de tres dígitos.
\xhexCarácter especificado por un código hexadecimal.
\ccharCarácter de control nombrado.

Clases de caracteres

Clases de caracteres
SecuenciaDescripción
[...]Un solo carácter listado o contenido en un rango listado. Los rangos pueden ser combinados con los operadores {+} y {-}. Por ejemplo [a-z]{+}[0-9] es lo mismo que [0-9a-z] y [a-z]{-}[aeiou] es lo mismo que [b-df-hj-np-tv-z].
[^...]Un solo carácter no listado y no contenido en un rango listado.
.Cualquier carácter, por omisión [^\n].
\dCarácter numérico, [0-9].
\DCarácter no numérico, [^0-9].
\sCarácter de espacio en blanco, [ \t\n\r\f\v].
\SCarácter no de espacio en blanco, [^ \t\n\r\f\v].
\wCarácter de palabra, [a-zA-Z0-9_].
\WCarácter de no palabra, [^a-zA-Z0-9_].

Clases de caracteres Unicode

Clases de caracteres Unicode
SecuenciaDescripción
\p{C}Otro.
\p{Cc}Otro, control.
\p{Cf}Otro, formato.
\p{Co}Otro, uso privado.
\p{Cs}Otro, sustituto.
\p{L}Letra.
\p{LC}Letra, con casos.
\p{Ll}Letra, minúscula.
\p{Lm}Letra, modificada.
\p{Lo}Letra, otra.
\p{Lt}Letra, de título.
\p{Lu}Letra, mayúscula.
\p{M}Marca.
\p{Mc}Marca, espacio combinado.
\p{Me}Marca, encuadre.
\p{Mn}Marca, no espaciada.
\p{N}Número.
\p{Nd}Número, dígito decimal.
\p{Nl}Número, letra.
\p{No}Número, otro.
\p{P}Puntuación.
\p{Pc}Puntuación, conector.
\p{Pd}Puntuación, guion.
\p{Pe}Puntuación, cierre.
\p{Pf}Puntuación, comilla final.
\p{Pi}Puntuación, comilla inicial.
\p{Po}Puntuación, otra.
\p{Ps}Puntuación, apertura.
\p{S}Símbolo.
\p{Sc}Símbolo, moneda.
\p{Sk}Símbolo, modificado.
\p{Sm}Símbolo, matemático.
\p{So}Símbolo, otro.
\p{Z}Separador.
\p{Zl}Separador, línea.
\p{Zp}Separador, párrafo.
\p{Zs}Separador, espacio.

Estas clases de caracteres solo están disponibles si la opción --enable-parle-utf32 ha sido pasada durante la compilación.

Alternancia y repetición

Alternancia y repetición
SecuenciaGreedyDescripción
...|...-Probar los subpatrones en alternancia.
*yesCorresponde 0 o más veces.
+yesCorresponde 1 o más veces.
?yesCorresponde 0 o 1 vez.
{n}noCorresponde exactamente n veces.
{n,}noCorresponde al menos n veces.
{n,m}yesCorresponde al menos n veces pero no más de m veces.
*?noCorresponde 0 o más veces.
+?noCorresponde 1 o más veces.
??noCorresponde 0 o 1 vez.
{n,}?noCorresponde al menos n veces.
{n,m}?noCorresponde al menos n veces pero no más de m veces.
{MACRO}-Incluye la regex MACRO en la regex actual.

Ancla

Ancla
SecuenciaDescripción
^Comienza por una cadena o después de un retorno de línea.
$Termina por una cadena o antes de un retorno de línea.

Agrupamiento

Agrupamiento
Secuencia Descripción
(...) Agrupa una expresión regular para modificar el orden de evaluación.
(?r-s:pattern) Aplica la opción r y omite la opción s al interpretar el patrón. Las opciones pueden ser cero o más de los caracteres i, s o x. i significa insensible a mayúsculas y minúsculas. -i significa sensible a mayúsculas y minúsculas. s modifica el significado de . para que corresponda a cualquier carácter. -s modifica el significado de . para que corresponda a cualquier carácter excepto \n. x ignora los comentarios y los espacios en los patrones. Los espacios son ignorados excepto si están escapados por una barra invertida, contenidos en ""s, o aparecen dentro de un rango de caracteres. Estas opciones pueden ser aplicadas globalmente al nivel de las reglas pasando una combinación de los indicadores de bits al analizador léxico.
(?# comment ) Omite todo lo que está en (). El primer carácter ) encontrado termina el patrón. No es posible para el comentario contener un carácter ). El comentario puede extenderse sobre varias líneas.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top