Mudanças entre as edições de "Regular expression"

De WikiLICC
Ir para: navegação, pesquisa
m (Padrões)
m (Assertions)
 
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 4: Linha 4:
  
 
== Padrões ==
 
== Padrões ==
Classes de caracteres e padrões
+
* Caracteres com funćão especial (devem ser "escaped")
 +
;\ (backslash) :usado para "escape"
 +
;]            :Finaliza uma classe
 +
;^ (caret)    :Nega uma classe
 +
;- (dash)      :Denotes um range
 +
;[a|b|1|2]    :encontra somente a ou b ou 1 ou 2
 +
 
 +
* Classes de caracteres e padrões
  
 
;[abc] :a, b ou c
 
;[abc] :a, b ou c
Linha 28: Linha 35:
  
  
Devem ser "escaped"
 
  
;]    :Finaliza uma classe
+
===Padrões de substituicão (entre parenteses)===
;^ (caret) :Nega uma classe
 
;- (dash)  :Denotes um range
 
;\ (backslash) :usado para "escape"
 
  
Encontre "somente um dos"
+
;(int|float|double)\s+\w+ :Somente um dos int, float ou double seguida por espaco e algumas letras.
 +
;(\w+),\1                :Encontra duas palavras repetidas separada por vírgula. Note que \1 repere o padrão
  
;[a|b|1|2] :apenas a ou b ou 1 ou 2
+
* Olhando a frente, inicia com ?= ou ?!
 
 
 
 
Padrões de substituicão (entre parenteses)
 
 
 
;(int|float|double)\s+\w+ ;Somente um dos int, float ou double seguida por espaco e algumas letras.
 
 
 
Referencias anteriores
 
 
 
;(\w+),\1 : encontras duas palavras repetidas separada por vírgula. Note que \1 repere o padrão
 
 
 
Olhando a frente
 
 
 
A lookahead assertion is a sub pattern, starting with either ?= or ?!.
 
  
 
;Bill(?! Gates) :Bill Clinton, Billy the kid, mas não Bill Gates
 
;Bill(?! Gates) :Bill Clinton, Billy the kid, mas não Bill Gates
 
  
 
Caracteres especiais em padrões de substituićão
 
Caracteres especiais em padrões de substituićão
Linha 64: Linha 54:
 
;|  :ou lógico
 
;|  :ou lógico
 
;+  :quantificador 1 ou mais
 
;+  :quantificador 1 ou mais
;*  :quantificador 0 ou mais
+
; *  :quantificador 0 ou mais
 
;?  :quantificador 0 ou 1
 
;?  :quantificador 0 ou 1
 +
 +
== Quantificadores ==
 +
;{1}    :exatamente 1 ocorrência
 +
;{0,1}  :0 ou 1 ocorrência
 +
;{,1}  :0 ou 1 ocorrência
 +
;{5,10} :5 a 10 ocorrências
 +
;{5,}  :no mínimo 5 ocorrências
 +
; *    :0 ou mais. {0,}
 +
;+      :1 ou mais. {1,}
 +
;?      :0 ou 1 ocorrência. {0,1}
 +
 +
;^\d{4,5}  :qualquer dígito 4 ou 5 vezes. “1234” e “12345”, mas não “567” nem “223459”
 +
;\s+      :um ou mais espacoes em branco
 +
;(bla){1,} :um ou mais blablabla
 +
;/?>      :encontra “/>” em “<closeditem/>” e “>” em “<openitem>”.
 +
 +
==Assertions==
 +
;^      : Encontra o início da palavra
 +
;$      : Encontra o fim da palavra
 +
;\b    : Separador de palavras
 +
;\B    : Exceto separador de palavras
 +
 +
===Exemplos===
 +
;^Peter : Encontra "Peter, hey!" mas não "Hey, Peter!"
 +
;you$  : Encontra "you" em "Me and you" mas não "Are you ok?"
 +
;\bem\b : Encontra "Está em casa" mas não "temos"
 +
;\Bem\B : Encontra "temos" mas não "Está em casa"
 +
 +
 +
;(?=PATTERN)  : A lookahead assertion looks at the part of the string following a possible match. The positive lookahead will prevent the string from matching if the text following the possible match does not match the PATTERN of the assertion, but the text matched by that will not be included in the result.
 +
;(?=\w)        : The expression handy(?=\w) will match at “handy” in “handyman” but not in “That came in handy!”
 +
;(?!PATTERN)  : The negative lookahead prevents a possible match to be acknowledged if the following part of the searched string does match its PATTERN.
 +
;\w+\b(?!\s*&) : The expression const \w+\b(?!\s*&) will match at “const char” in the string “const char* foo” while it can not match “const QString” in “const QString& bar” because the “&” matches the negative lookahead assertion pattern.

Edição atual tal como às 15h02min de 24 de maio de 2015

Breve resumo de expressões regulares para o Kate.

Veja www.kate-editor.org/doc/regular-expressions.html

Padrões

  • Caracteres com funćão especial (devem ser "escaped")
\ (backslash) 
usado para "escape"
]  
Finaliza uma classe
^ (caret)  
Nega uma classe
- (dash)  
Denotes um range
[a|b|1|2]  
encontra somente a ou b ou 1 ou 2
  • Classes de caracteres e padrões
[abc] 
a, b ou c
[a-c] 
a, b ou c
[0123456789] 
qualquer dígito
[0-9]  
qualquer dígito
[^abc] 
qualquer caractere exceto a ,b ou c
\a  
caractere BELL (BEL, 0x07)
\f  
caractere form feed (FF, 0x0C)
\n  
caractere fim de linha (LF, 0x0A)
\r  
caractere carriage return (CR, 0x0D)
\t  
caractere TAB (HT, 0x09)
\v  
caractere TAB vertical (VT, 0x0B)
\xhhhh 
caractere Unicode hhhh
. (dot)
qualquer caractere (inclui newline)
\d  
qualquer dígito [0-9]
\D  
qualquer não-dígito [^0-9] ou [^\d]
\s  
espaco em branco. Igual a [ \t\n\r]
\S  
exceto espaco em branco. Igual a [^ \t\r\n] e [^\s]
\w  
word caractere: dígito ou letra. Igual a [a-zA-Z0-9]
\W  
exceto word caractere



Padrões de substituicão (entre parenteses)

(int|float|double)\s+\w+ 
Somente um dos int, float ou double seguida por espaco e algumas letras.
(\w+),\1  
Encontra duas palavras repetidas separada por vírgula. Note que \1 repere o padrão
  • Olhando a frente, inicia com ?= ou ?!
Bill(?! Gates) 
Bill Clinton, Billy the kid, mas não Bill Gates

Caracteres especiais em padrões de substituićão

\ (backslash) 
Escape
^ (caret)  
Comeco de string
$  
fim de string
() 
denota padrões de substituićào
{} 
quantificadores numéricos
[] 
delimita classes
|  
ou lógico
+  
quantificador 1 ou mais
*  
quantificador 0 ou mais
?  
quantificador 0 ou 1

Quantificadores

{1}  
exatamente 1 ocorrência
{0,1}  
0 ou 1 ocorrência
{,1}  
0 ou 1 ocorrência
{5,10} 
5 a 10 ocorrências
{5,}  
no mínimo 5 ocorrências
*  
0 ou mais. {0,}
+  
1 ou mais. {1,}
?  
0 ou 1 ocorrência. {0,1}
^\d{4,5}  
qualquer dígito 4 ou 5 vezes. “1234” e “12345”, mas não “567” nem “223459”
\s+  
um ou mais espacoes em branco
(bla){1,} 
um ou mais blablabla
/?>  
encontra “/>” em “<closeditem/>” e “>” em “<openitem>”.

Assertions

^  
Encontra o início da palavra
$  
Encontra o fim da palavra
\b  
Separador de palavras
\B  
Exceto separador de palavras

Exemplos

^Peter 
Encontra "Peter, hey!" mas não "Hey, Peter!"
you$  
Encontra "you" em "Me and you" mas não "Are you ok?"
\bem\b 
Encontra "Está em casa" mas não "temos"
\Bem\B 
Encontra "temos" mas não "Está em casa"


(?=PATTERN)  
A lookahead assertion looks at the part of the string following a possible match. The positive lookahead will prevent the string from matching if the text following the possible match does not match the PATTERN of the assertion, but the text matched by that will not be included in the result.
(?=\w)  
The expression handy(?=\w) will match at “handy” in “handyman” but not in “That came in handy!”
(?!PATTERN)  
The negative lookahead prevents a possible match to be acknowledged if the following part of the searched string does match its PATTERN.
\w+\b(?!\s*&) 
The expression const \w+\b(?!\s*&) will match at “const char” in the string “const char* foo” while it can not match “const QString” in “const QString& bar” because the “&” matches the negative lookahead assertion pattern.