Correspondência de padrões do Parle

O Parle suporta correspondência a expressões regulares semelhantes ao Flex. Também são suportados os seguintes conjuntos de caracteres POSIX: [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:].

As classes de caracteres Unicode não estão habilitadas por padrão. Use --enable-parle-utf32 para torná-las disponíveis. Uma codificação específica pode ser mapeada com uma expressão regular construída corretamente. Por exemplo, para corresponder ao símbolo EURO codificado em UTF-8, a expressão regular [\xe2][\x82][\xac] pode ser usada. O padrão para uma string codificada em UTF-8 poderia ser [ -\x7f]{+}[\x80-\xbf]{+}[\xc2-\xdf]{+}[\xe0-\xef]{+}[\xf0-\xff]+.

Representações de caracteres

Representações de caracteres
SequênciaDescrição
\aAlerta sonoro.
\bBackspace.
\eESC, \x1b.
\nNova linha.
\rRetorno de carro.
\fAlimentação de formulário, \x0c.
\tTabulação horizontal, \x09.
\vTabulação vertical, \x0b.
\octCaractere especificado por um código octal de três dígitos.
\xhexCaractere especificado por um código hexadecimal.
\ccharCaractere de controle nomeado.

Classes de caracteres

Classes de caracteres
SequênciaDescrição
[...]Um único caractere listado ou contido em um intervalo listado. Intervalos podem ser combinados com os operadores {+} e {-}. Por exemplo, [a-z]{+}[0-9] é o mesmo que [0-9a-z] e [a-z]{-}[aeiou] é o mesmo que [b-df-hj-np-tv-z].
[^...]Um único caractere não listado e não contido em um intervalo listado.
.Qualquer caractere, padrão [^\n].
\dCaractere de dígito, [0-9].
\DCaractere não-dígito, [^0-9].
\sCaractere de espaço em branco, [ \t\n\r\f\v].
\SCaractere sem espaço em branco, [^ \t\n\r\f\v].
\wCaractere de palavra, [a-zA-Z0-9_].
\WCaractere que não é de palavra, [^a-zA-Z0-9_].

Classes de caractere Unicode

Classes de caractere Unicode
SequênciaDescrição
\p{C}Outro.
\p{Cc}Outro, controle.
\p{Cf}Outro, formato.
\p{Co}Outro, uso privado.
\p{Cs}Outro, substituto.
\p{L}Letra.
\p{LC}Letra, capitalizada.
\p{Ll}Letra, minúscula.
\p{Lm}Letra, modificador.
\p{Lo}Letra, outro.
\p{Lt}Letra, de título.
\p{Lu}Letra, maiúscula.
\p{M}Marca.
\p{Mc}Marca, combinação de espaço.
\p{Me}Marca, delimitador.
\p{Mn}Marca, sem espaçamento.
\p{N}Número.
\p{Nd}Número, dígito decimal.
\p{Nl}Número, letra.
\p{No}Número, outro.
\p{P}Pontuação.
\p{Pc}Pontuação, conector.
\p{Pd}Pontuação, traço.
\p{Pe}Pontuação, fechamento.
\p{Pf}Pontuação, aspas de fechamento.
\p{Pi}Pontuação, aspas de abertura.
\p{Po}Pontuação, outro.
\p{Ps}Pontuação, abertura.
\p{S}Símbolo.
\p{Sc}Símbolo, moeda.
\p{Sk}Símbolo, modificador.
\p{Sm}Símbolo, matemático.
\p{So}Símbolo, outro.
\p{Z}Separador.
\p{Zl}Separador, linha.
\p{Zp}Separador, parágrafo.
\p{Zs}Separador, espaço.

Essas classes de caracteres só estarão disponíveis se a opção --enable-parle-utf32 tiver sido passada no momento da compilação.

Alternância e repetição

Alternância e repetição
SequênciaGulosoDescrição
...|...-Tenta subpadrões alternadamente.
*simCorresponde 0 ou mais vezes.
+simCorresponde 1 ou mais vezes.
?simCorresponde 0 ou 1 vez.
{n}noCorresponde exatamente n vezes.
{n,}simCorresponde pelo menos n vezes.
{n,m}simCorresponde pelo menos n vezes mas não mais que m vezes.
*?nãoCorresponde 1 ou mais vezes.
+?nãoCorresponde 1 ou mais vezes.
??nãoCorresponde 0 ou 1 vez.
{n,}?nãoCorresponde pelo menos n vezes.
{n,m}?nãoCorresponde pelo menos n vezes mas não mais que m vezes.
{MACRO}-Inclui a MACRO de expressão regular na expressão atual.

Âncoras

Anchors
SequênciaDescrição
^Início da string ou após uma nova linha.
$Fim da string ou antes de uma nova linha.

Agrupamento

Agrupamento
Sequência Descrição
(...) Agrupa uma expressão regular para substituir a precedência do operador padrão.
(?r-s:pattern) Aplica a opção r e omite a opção s ao interpretar o padrão. As opções podem ser zero ou mais dos caracteres i, s ou x. i significa sem diferenciação de maiúsculas/minúsculas. -i significa com diferenciação de maiúsculas/minúsculas. s altera o significado de . para corresponder a qualquer caractere. -s altera o significado de . para corresponder a qualquer caractere exceto \n. x ignora comentários e espaços em branco em expressões. Espaços em branco são ignorados, a menos que sejam precedidos por barra invertida, estejam contidos entre ""s, ou apareçam dentro de um intervalo de caracteres. Essas opções podem ser aplicadas globalmente no nível de regras passando uma combinação de sinalizadores de bits para o analisador léxico.
(?# comment ) Omite tudo dentro de (). O primeiro caractere ) encontrado encerra o padrão. Não é possível que o comentário contenha um caractere ). O comentário pode abranger várias linhas.

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top