Ajuda:Expressões regulares
Esta página descreve caracteres especiais, também chamados metacaracteres (assim como sequências destes) usados em expressões regulares que podem ou não ser utilizados nas seguintes páginas:
- MediaWiki:Spam-blacklist (mw:Extension:SpamBlacklist)
- MediaWiki:Spam-whitelist (idem)
- MediaWiki:Titleblacklist (mw:Extension:Title Blacklist)
- MediaWiki:Titlewhitelist (idem)
- MediaWiki:Bad image list (mw:Extension:Bad Image List)
- MediaWiki:Captcha-addurl-whitelist (mw:Extension:ConfirmEdit)
- Especial:AbuseFilter (Wikipedia:Filtro de edições)
- Usuário:Salebot/Config (robô anti-vandalismo)
Outros programas/recursos não abordados especificamente nesta página (mas a mesma pode servir de ajuda):
- AutoWikiBrowser - Recomenda-se a consulta de en:Wikipedia:AutoWikiBrowser/Regular expression (em inglês).
- WikiEd usa a sintaxe de expressões regulares JavaScript disponíveis em http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Regular_Expressions (em inglês)
- Wikipédia:Software/Anti-vandal tool/badwords
- Outras páginas do MediaWiki como Especial:Pesquisar_links e alguns Gadgets normalmente usam muito poucos caracteres especiais (como, por exemplo, apenas *) e as informações sobre as mesmas estão normalmente nas respetivas páginas.
Nota: nem todos os caracteres especiais se podem usar em qualquer página (ou programa) descrita anteriormente, por isso esta página contém secções de exemplos conforme a página (ver #Exemplos práticos) e a indicação em que páginas funciona na tabela que se segue nas colunas "Spam", "Title", "Salebot" e "Filtro". A sintaxe utilizada pelas extensões do MediaWiki é a PCRE.
Descrição dos caracteres especiais
Caractere especial ou sequência de caracteres especiais |
Descrição | Spam | Title | Salebot | Filtro |
---|---|---|---|---|---|
|
|
A barra vertical significa "ou"; detecta o termo anterior ou posterior. Pode ser combinado com várias barras verticais. A utilização sem ser dentro de parêntesis pode depender do programa/extensão em que é utilizado, ver exemplos seguintes para saber se se pode utilizar. | ||||
sim|não|talvez
|
Neste exemplo deteta "sim", "não" e "talvez" | ||||
muit(o|as)
|
Neste caso detecta "muito" e "muitas" | ||||
.
|
qualquer caractere (inclui espaços) | ||||
*
|
(0, 1 ou mais) nenhuma, uma ou mais repetições do termo anterior | ||||
.*
|
Repetição (ou não) de qualquer caractere (inclui espaços) uma ou mais vezes. | ||||
(ha)*
|
Repetição (ou não) de "ha" uma ou mais vezes. Deteta "ha", "haha", "hahaha", etc. | ||||
\d*
|
Repetição (ou não) de um dígito uma ou mais vezes. Deteta "3", "823", "5961837254", etc. | ||||
alt\w*
|
Repetição (ou não) de um caractere alfanumérico uma ou mais vezes. Deteta "alto", "alternativa", "super!altamente", etc. mas não quando "alt" é seguido de um dígito como "super!alt1". | ||||
+
|
(1 ou mais) uma ou mais repetições do termo anterior. Equivalente a {1,}
|
||||
?
|
(0 ou 1) Nenhuma ocorrência ou uma do termo anterior, ou seja, o termo anterior é opcional (mas tenta encontrar primeiro uma ocorrência e só depois a ausência). Caso o ? seja colocado após um dos símbolos ? * + ou da expressão {mínimo,máximo} assume primeiro a ausência e só depois a ocorrência.
|
||||
\
|
Este caractere especial tem duas funções conforme o que lhe segue:
|
||||
\A
|
|||||
\b
|
Restringe ao início, o meio ou o fim da expressão que antecede ou precede. Por exemplo \bsim deteta "é simplesmente" mas não deteta "assim".
|
||||
\B
|
Qualquer posição do texto desde que não seja no início ou no fim de uma palavra. Por exemplo \Btur\B deteta "altura" mas não deteta "altur". Já \btur\B deteta "turismo" mas não "altura"
|
||||
\d
|
qualquer dígito (0 a 9) | ||||
\D
|
qualquer caractere que não seja um dígito | ||||
\G
|
|||||
\s
|
Espaço em branco | ||||
\S
|
Tudo excepto o espaço | ||||
\w
|
qualquer caractere alfanumérico incluindo traço inferior; é o equivalente a [a-z0-9_] | ||||
\W
|
qualquer caractere que não seja alfanumérico, incluindo traço inferior; é o equivalente a [^a-z0-9_] | ||||
\z
|
|||||
\Z
|
|||||
\0
|
|||||
\1
|
Pode-se usar \1 \2 \3 \4 \5 \6 \7 \8 \9 para capturar um grupo anterior (dentro de parêntesis). Exemplo (ha)\1{2,} permite detectar "hahaha". Exemplo .*(.)\1{10}.* permite detectar 10 caracteres iguais repetidos. Outro exemplo dois (tigres|esquilos) três \1 deteta "dois tigres três tigres" e "dois esquilos três esquilos", mas não "dois tigres três esquilos".
|
||||
( )
|
Permite definir um grupo de expressões ou caracteres. Captura também a expressão para referência posterior (ver expressão anterior \1 ), a não ser que se use como (?: ) que não captura. Os parêntesis também permitem aplicar expressões regulares posteriormente a esse grupo (e não apenas a um caractere) como por exemplo (ha)+
|
||||
(forum|site) novo
|
Neste caso usa um elemento comum "novo" para detetar várias expressões como "forum novo" e "site novo" | ||||
(bom){2}
|
Neste caso agrupa "bom" como um só elemento para considerar a repetição que detecta "bombom" | ||||
(muito)? bom
|
Neste caso agrupa "bom" como um só elemento para considerar a ocorrência ou não desse elemento, detentando "muito bom" e "bom" | ||||
[ ]
|
Permite especificar os caracteres a detetar | ||||
[abc]
|
Deteta "a", "b" ou "c" | ||||
[0-4]
|
Exemplo para detetar um intervalo de caracteres. Neste caso deteta "1", "2", "3" e "4" | ||||
[a-d]
|
Deteta "a", "b", "c" e "d" | ||||
[0-4a-d]
|
Deteta "1", "2", "3", "4", "a", "b", "c" e "d" | ||||
[a-g-[b-e]]
|
Exemplo para subtração de um conjunto. Neste exemplo significa detetar o intervalo de letras de "a" a "g" excepto o intervalo de letras de "b" a "e". Deteta então "a", "f" e "g". Em princípio esta expressão não funciona. | ||||
[a-z-[aeiou]]
|
Neste caso deteta todas as consoantes (pode ser interpretar a expressão como alfabeto exceto vogais). Em princípio esta expressão não funciona. | ||||
[a-z&&[bdg]]
|
Neste caso deteta todas as letras do alfabeto exceto as letras "b", "d" e "g". Funciona como interseção. | ||||
[-abc]
|
Caso o hífen esteja logo no início é interpretado como tal. No exemplo corresponde ao "hífen", letra "a", "b" e "c" | ||||
[^ ]
|
Permite especificar os caracteres a não detetar (negação). Ver também outro uso do caractere ^ | ||||
[^abc]
|
qualquer caractere que não seja "a", "b" ou "c" | ||||
[^a-f]
|
qualquer caractere que não seja uma letra do alfabeto entre "a" e "f"; o mesmo que [^abcdef]
|
||||
[^0-4]
|
qualquer caractere que não seja um número entre "0" e "4"; o mesmo que [^01234]
|
||||
{ }
|
Quantificador. Permite especificar o número de vezes que a expressão anterior ocorre, quer o número exacto, quer o mínimo, quer o mínimo e máximo. | ||||
{número}
|
Número exacto de vezes que o elemento anterior se repete | ||||
{mínimo,}
|
Número mínimo de vezes que o elemento anterior se repete | ||||
{mínimo,máximo}
|
Número mínimo e máximo de vezes que o elemento anterior se repete | ||||
(?:expressão)
|
Permite definir um grupo de expressões ou caracteres. Não captura o grupo para referência posterior ao contrário de ( )
|
||||
(?!expressão)
|
Grupo em negação não capturado. Por exemplo muito (?!mais|menos) deteta tudo o que tiver "muito" e não seja seguido pelas palavras "mais" ou "menos" como "muito bom", "muito qualquer", etc.
|
||||
(?=expressão)
|
|||||
(?<!expressão)
|
|||||
(?<=expressão)
|
|||||
(?>expressão)
|
|||||
\045
|
Código ASCII no sistema octal. Neste exemplo "045" corresponde ao símbolo "%". | ||||
\x25
|
Código hexadecimal. Neste exemplo "25" corresponde ao símbolo "%". | ||||
\X
|
|||||
\x{25}
|
Semelhante ao anterior mas na sintaxe PCRE para código hexadecimal. Neste exemplo "25" corresponde também ao símbolo "%". | ||||
\u0025
|
Código Unicode. Neste exemplo "0025" corresponde ao símbolo "%". Em princípio não é possível usar esta expressão nas páginas do MediaWiki. Para isso use o \x{25}
|
? | |||
\p{nome da classe}
|
Caracteres de um determinada classe. Por exemplo, \p{IsHebrew} em que "IsHebrew" é o nome da classe Unicode para as letras da língua hebraica. Para uma lista completa ver secção desta página #Lista de nomes de classes Unicode
|
||||
\P{nome da classe}
|
Caracteres que não sejam da classe definida. É semelhante ao anterior mas em negação. | ||||
\p{^nome da classe}
|
Caracteres que não sejam da classe definida. É semelhante a \P{nome da classe} (notar que o "P" está em maiúscula")
|
||||
# comentárioXPTO
|
Utilizado para comentários. Todo o texto que se encontre após # é interpretado como comentário | ||||
(?#comentárioXPTO)
|
Utilizado para comentários, normalmente dentro das próprias expressões regulares. Todo o texto que se encontre entre os parênteses não é considerado uma expressão regular. Por exemplo muitos?(?#comentárioXPTO)tigre deteta "muitostigre" e "muitotigre"
|
||||
^
|
Início do texto. Por exemplo "^34" deteta "34" num texto que comece com "34 hs gj ada hs". Não confundir com \b que tem uma funcionalidade diferente.
|
[1] | |||
$
|
Fim do texto. Por exemplo "34$" deteta "34" num texto que termine com "hs gj ada hs34". Não confundir com \b que tem uma funcionalidade diferente.
|
[1] | |||
(?i:expressão)
|
Utilizado para considerar maiúsculas e minúsculas. Por exemplo, (?i:Meta) corresponde a "Meta", "META", "meta", "MeTa", etc.
|
[2] | |||
(?-i:expressão)
|
Inverso do anterior. Por exemplo (?i:sím)(?-i:bolo) deteta "SIMbolo" e "símbolo" mas não "símBOLO"
|
||||
\Qexpressão\E
|
Interpreta literalmente a expressão como caracteres. | ||||
\Q+({\E
|
Interpreta literalmente a expressão como caracteres. Deteta "+({" | ||||
(expressão)(?(grupo)sim|não)
|
|||||
(expressão)(?(grupo)sim)
|
Caractere de escape
Quando se quer que o programa que usa expressões regulares interprete um caractere especial como um caractere normal (ou literal) é necessário usar um caractere de escape \
antes de cada caractere especial. Por exemplo, para se detetar o texto muito + que?
é necessário usar a expressão muito \+ que\?
para que se interprete literalmente como texto e não expressão regular. Notar que para cada caractere especial é necessário usar o caractere de escape, mesmo que estejam seguidos. Por exemplo, em +?*
deve-se usar \+\?\*
para interpretar como caracteres normais.
- nas páginas MediaWiki:Titleblacklist e MediaWiki:Spam-blacklist os símbolos
^ \ * . ( ) { } [ ] $ + - | ? < >
para serem interpretados literalmente têm de ser colocados após\
Por exemplo, para bloquear o termo exatomuito+mais\
deve-se usar a expressãomuito\+mais\\
de forma a que o símbolo+
e\
não sejam interpretados como uma expressão regular mas sim como caracteres. Isto não se aplica quando os símbolos\ * . + ?
estão imediatamente a seguir a[
ou imediatamente antes de]
como por exemplo[-!€]
- na página MediaWiki:Titleblacklist o símbolo
/
tem de ser colocado da seguinte forma\/
Exemplos práticos
Notas:
- Nos exemplos mostrados não se considera a diferença entre maiúsculas e minúsculas, pois o MediaWiki usa por defeito essas variações. Ou seja, a expressão
raios
bloqueia "Raios", "raios", "RAIOS", "RaIoS", etc. - Nos exemplos utiliza-se muito as expressões entre \b para mostrar apenas alguns exemplos na coluna "Palavras detectadas"
Exemplo | deteta | não deteta | Explicação |
---|---|---|---|
viado
|
"viado" "viados" "aviado" "aviador" "um viado de", etc. |
"v1ado", etc | bloqueia todas as palavras que começam, terminem ou tenham no meio a expressão "viado". Notar que neste caso bloqueia também expressões válidas como "aviador". Deve-se ter algum cuidado com este caso pois pode bloquear muitas palavras válidas, principalmente quando a palavra/expressão a bloquear for muito curta. A título de exemplo vi iria bloquear ainda mais páginas ao contrário de montes de viados que não originaria problemas pois provavelmente não deve haver um título de uma página ou conta de usuário válida com essas palavras. Teoricamente (a confirmar) obtêm-se os mesmos resultados com .*viado.*
|
\bviado
|
"viado" "viados" "viadores" "viadonte", etc. |
"aviado" "mesmoviado", etc |
Exemplo semelhante ao anterior, mas que bloqueia apenas as palavras que começam com viado |
viado\b
|
"viado" "aviado" "wq12wprviado", etc. |
"viados", etc | Bloqueia apenas as palavras que terminam com viado |
\bviado\b
|
"viado" | "umviado" "viadão" |
Bloqueia apenas a palavra viado |
p.ta
|
"pata" "pota" "aap1taa" "computador", etc. |
"pta", etc | Semelhante ao anterior, aceita qualquer caractere (apenas 1) entre p e ta. Este exemplo nunca deve ser utilizado desta forma pois deteta demasiadas palavras válidas. |
puta.*pariu
|
"puta que pariu" "puta pariu" "aputa de 1parius sem", "computador que comparium" etc. |
"pariu puta" "putapariu", etc |
Detecta a palavra "puta" e "pariu" quando estas estão seguidas. Tel algum cuidado com este exemplo, pode eventualmente detectar palavras corretas. |
\bputa\b.*\bpariu\b
|
"puta que pariu" "puta pariu", etc |
"putapariu" "umputa pariu", etc |
Semelhante ao anterior mas só detecta as palavras "puta" e "pariu" quando estão isoladas |
\bmi?erda\b
|
"mierda" "merda" |
"m3rda" "merdices" "umamerda", etc |
O ? neste caso indica que a letra anterior i é opcional. |
\bfix(e|ola|ix)\b
|
"fixe" "fixola" "fixix" |
"fixone" "fix3" "fix", etc |
Utilizado para palavras com variantes mas com uma parte em comum. |
\bbarda[ ]?merda\b
|
"barda merda" "bardamerda" |
"barda-merda" "barda merda", etc |
Para tornar os espaços opcionais, estes têm de ser colocados entre colchetes. |
[0-9]º ano
|
"meu 1º ano de" "teu10º anode", etc. |
"9ºano" "9o ano", etc |
Caso especial que considera os algarismos entre 0 e 9. É uma forma simplificada de obter o mesmo resultado com [0123456789]º ano ou (0|1|2|3|4|5|6|7|8|9)º ano
|
\b1?[0-9]º ano\b
|
"meu 1º ano de" "teu 10º ano de", etc. |
"meu1º ano de" "10º anode", etc. |
Exemplo | Endereços detetados | Explicação |
---|---|---|
\bexemplo\.com
|
"www.exemplo.com" "sv1.exemplo.com/34/pag.html", etc. |
Exemplo mais comum que bloqueia todas as páginas de um domínio. |
\bexemplo\.com/game/
|
"www.exemplo.com/game/" "sv1.exemplo.com/game/pag.html", etc. |
Exemplo para bloquear apenas determinados directórios de um domínio e não todas as páginas desse domínio. |
\bexemplo\.(?:com|net|org|pt|com\.br)\b
|
"www.exemplo.com" "www.exemplo.pt" "www.exemplo.com.br" "sv1.exemplo.pt/pag.html", etc. |
Para bloquear vários domínios com o mesmo nome. |
\bserver\d\.exemplo\.com\b
|
"server1.exemplo.com" "server4.exemplo.com" "server9.exemplo.com/pag.htm", etc. |
Neste caso o \d corresponde a qualquer dígito (0 a 9). |
casino-online | "casino-online.com" "newcasino-onlines.pt" "www.w3.com/casino-online1.htm", etc. |
Bloqueia todos os URL que contenham "casino-online". Ao usar este método deve-se ter em conta que bloqueia também directórios de sites. |
@exemplo.com
|
"info@exemplo.com" "qual@exemplo.com", etc. |
|
72\.232\.68\.234
|
||
\bgoogle\..{1,5}/cse\b
|
||
exemplo[0-9a-z-]*\.com
|
||
www\.google\.com/search\?source=ig&hl=en&q=music\+education\+by\+color
|
||
upload\.wikimedia\.org/.*XRumer.screenshot\.gif |
Exemplo | Explicação |
---|---|
\bwww\.exemplo\.org\b
|
Desbloqueia apenas a página principal do site. |
\bwww\.exemplo\.org/results.html\b
|
Desbloqueia apenas a página "www.exemplo.org/results.html" desse site. |
\bwww\.exemplo\.org/results/\b
|
Desbloqueia apenas o diretório "www.exemplo.org/results/" e todas as subpáginas que estejam nesse diretório. |
Lista de nomes de classes Unicode
As seguintes listas podem ser utilizadas de várias formas:
\p{nome da classe}
\P{nome da classe}
\p{^nome da classe}
\P{^nome da classe}
Também podem ser combinadas:
\p{L|P}
(a confirmar)[\p{L} \p{P}]
A lista seguinte "Propriedades" pode ser utilizada de duas formas: \p{Lu}
ou \pLu'''
com as quais se obtem o mesmo resultado.
Propriedades
Nome | Nome alternativo | Descrição |
---|---|---|
L | Letter | Todas as letras |
Lu | Uppercase_Letter | Todas as letras maiúsculas |
Ll | Lowercase_Letter | Todas as letras minúsculas |
Lt | Titlecase_Letter | Quando a primeira letra de uma palavra está em maiúscula. |
Lm | Modifier_Letter | |
Lo | Other_Letter | |
L& | Letter& | O mesmo que Ll, Lu, ou Lt; ou seja "Todas as letras maiúsculas", "todas as letras minúsculas" e "Quando a primeira letra de uma palavra está em maiúscula" |
N | Number | Todos os números |
Nd | Decimal_Digit_Number | Dígito decimal. Para \p(Nd} equivale a usar \d Para \P(Nd} equivale a usar \D
|
Nl | Letter_Number | |
No | Other_Number | |
P | Punctuation | Todos os sinais de pontuação (ver lista de alguns em Predefinição:Pontuação) |
Pc | Connector_Punctuation | |
Pd | Dash_Punctuation | traços (incluindo hífen) |
Pi | Initial_Punctuation | |
Pf | Final_Punctuation | |
Ps | Open_Punctuation | Toda a pontução de abertura como ( [ { |
Pe | Close_Punctuation | Toda a pontução de fecho como ) ] } |
Po | Other_Punctuation | |
S | Symbol | Símbolos como os monetários, matemáticos, etc. |
Sc | Currency_Symbol | Todos os símbolos monetários como $ € £ ¢ ¥ etc. (ver en:Currency sign) |
Sk | Modifier_Symbol | |
Sm | Math_Symbol | Todos os símbolos matemáticos |
So | Other_Symbol | |
M | Mark | Todos os diacríticos |
Mn | Non_Spacing_Mark | |
Mc | Spacing_Combining_Mark | |
Me | Enclosing_Mark | |
Z | Separator | Espaços em branco |
Zs | Space_Separator | Espaço |
Zl | Line_Separator | |
Zp | Paragraph_Separator | |
C | Other | |
Cc | Control | |
Cf | Format | |
Cn | Unassigned | |
Co | Private_Use | |
Cs | Surrogate |
Sistema de escrita
Por sistema de escrita entenda-se os caracteres utilizados numa determinada língua. É diferente dos blocos descritos na tabela seguinte na medida em que abarca símbolos de vários blocos Unicode. Por exemplo Latin inclui os blocos Unicode:
- BasicLatin
- Latin-1Supplement
- LatinExtendedA
- LatinExtendedB
- LatinExtendedAdditional
- Diacritics
Nome | Descrição |
---|---|
Arabic | |
Armenian | en:List of Unicode characters#Armenian |
Balinese | |
Bengali | |
Bopomofo | |
Braille | |
Buginese | |
Buhid | |
CanadianAboriginal | |
Cham | |
Cherokee | |
Common | |
Coptic | |
Cuneiform | |
Cypriot | |
Cyrillic | Alfabeto cirílico |
Deseret | |
Devanagari | |
Ethiopic | |
Georgian | |
Glagolitic | |
Gothic | |
Greek | |
Gujarati | |
Gurmukhi | |
Han | |
Hangul | |
Hanunoo | |
Hebrew | en:List of Unicode characters#Hebrew |
Hiragana | |
Inherited | |
Kannada | |
Katakana | |
Kharoshthi | |
Khmer | |
Lao | |
Latin | |
Limbu | |
LinearB | |
Malayalam | |
Mongolian | |
Myanmar | |
NewTaiLue | |
Nko | |
Ogham | |
OldItalic | |
OldPersian | |
Oriya | |
Osmanya | |
PhagsPa | |
Phoenician | |
Runic | |
Shavian | |
Sinhala | |
Sundanese | |
SylotiNagri | |
Syriac | |
Tagalog | |
Tagbanwa | |
TaiLe | |
Tamil | |
Telugu | |
Thaana | |
Thai | |
Tibetan | |
Tifinagh | |
Ugaritic | |
Yi |
Blocos
Nome | Descrição |
---|---|
InAlphabeticPresentationForms | |
InArabic | |
InArabicPresentationFormsA | |
InArabicPresentationFormsB | |
InArabicSupplement | |
InArmenian | en:List of Unicode characters#Armenian |
InArrows | |
InBalinese | |
InBasicLatin | |
InBengali | |
InBlockElements | |
InBopomofo | |
InBopomofoExtended | |
InBoxDrawing | |
InBraillePatterns | |
InBuginese | |
InBuhid | |
InCham | |
InCherokee | |
InCJKCompatibility | |
InCJKCompatibilityForms | |
InCJKCompatibilityIdeographs | |
InCJKRadicalsSupplement | |
InCJKStrokes | |
InCJKSymbolsandPunctuation | |
InCJKUnifiedIdeographs | en:List of CJK Unified Ideographs |
InCJKUnifiedIdeographsExtensionA | |
InCombiningDiacriticalMarks | |
InCombiningDiacriticalMarksforSymbols | |
InCombiningDiacriticalMarksSupplement | |
InCombiningHalfMarks | |
InCombiningMarksforSymbols | |
InControlPictures | |
InCoptic | |
InCurrencySymbols | |
InCyrillic | Alfabeto cirílico |
InCyrillicExtendedA | |
InCyrillicExtendedB | |
InCyrillicSupplement | en:List of Unicode characters#Cyrillic Supplement |
InDevanagari | |
InDingbats | |
InEnclosedAlphanumerics | |
InEnclosedCJKLettersandMonths | |
InEthiopic | |
InEthiopicExtended | |
InEthiopicSupplement | |
InGeneralPunctuation | |
InGeometricShapes | |
InGeorgian | |
InGeorgianSupplement | |
InGlagolitic | |
InGreek | |
InGreekExtended | |
InGreekandCoptic | en:List of Unicode characters#Greek and Coptic |
InGujarati | |
InGurmukhi | |
InHalfwidthandFullwidthForms | |
InHangulCompatibilityJamo | |
InHangulJamo | |
InHangulSyllables | |
InHanunoo | |
InHebrew | en:List of Unicode characters#Hebrew |
InHighPrivateUseSurrogates | |
InHighSurrogates | |
InHiragana | |
InIdeographicDescriptionCharacters | |
InIPAExtensions | en:IPA Extensions unicode block |
InIdeographicDescriptionCharacters | |
InKanbun | |
InKangxiRadicals | |
InKannada | |
InKatakana | |
InKatakanaPhoneticExtensions | |
InKayahLi | |
InKhmer | |
InKhmerSymbols | |
InLao | |
InLatin-1Supplement | en:Latin-1 Supplement unicode block |
InLatinExtendedA | en:Latin Extended-A unicode block |
InLatinExtendedB | en:Latin Extended-B unicode block |
InLatinExtendedC | |
InLatinExtendedD | |
InLatinExtendedAdditional | |
InLepcha | |
InLetterlikeSymbols | |
InLimbu | |
InLowSurrogates | |
InMalayalam | |
InMathematicalOperators | |
InMiscellaneousMathematicalSymbolsA | |
InMiscellaneousMathematicalSymbolsB | |
InMiscellaneousSymbols | en:Miscellaneous Symbols |
InMiscellaneousSymbolsandArrows | |
InMiscellaneousTechnical | |
InModifierToneLetters | |
InMongolian | |
InMyanmar | |
InNewTaiLue | |
InNKo | |
InNumberForms | |
InOgham | |
InOlChiki | |
InOpticalCharacterRecognition | |
InOriya | |
InPhagspa | |
InPhoneticExtensions | |
InPhoneticExtensionsSupplement | |
InPrivateUse | |
InPrivateUseArea | |
InRejang | |
InRunic | |
InSaurashtra | |
InSinhala | |
InSmallFormVariants | |
InSpacingModifierLetters | en:List of Unicode characters#Spacing Modifier Letters |
InSpecials | |
InSundanese | |
InSuperscriptsandSubscripts | |
InSupplementalArrowsA | |
InSupplementalArrowsB | |
InSupplementalMathematicalOperators | |
InSupplementalPunctuation | |
InSylotiNagri | |
InSyriac | |
InTagalog | |
InTagbanwa | |
InTaiLe | |
InTamil | |
InTelugu | |
InThaana | |
InThai | |
InTibetan | |
InTifinagh | |
InUnifiedCanadianAboriginalSyllabics | |
InVai | |
InVariationSelectors | |
InVerticalForms | |
InYijingHexagramSymbols | |
InYiRadicals | |
InYiSyllables | en:List of Unicode characters in the Yi syllables block |
Testar expressões regulares
Se encontrarem sites ou programas úteis coloquem aqui. De preferência não comerciais, sob uma licença livre e em português.
Sítios (on-line)
Site | Língua | Licença | Requisitos | Funcionalidades | Tem "ajudas"? | ExpReg compatíveis?[3] |
---|---|---|---|---|---|---|
http://www.gskinner.com/RegExr/ | Inglês | Java, Flash | ||||
http://www.regexp.com.br | Português e Inglês | BY-NC-SA 3.0 | Java | |||
http://regexpal.com | Inglês | LGPL | Java | |||
http://regex.larsolavtorvik.com/#pcre | Inglês | Java | ||||
http://regex.powertoy.org | Inglês | GPL | Java | |||
http://cuneytyilmaz.com/prog/jrx/ | Inglês | GPL | Java | |||
http://www.nregex.com/nregex/ | Inglês | Java | ||||
http://www.myregextester.com | Inglês | Java | ||||
http://tools.lymas.com.br/regexp_br.php | Português | Java | ||||
http://www.idsklijnsma.nl/regexps/ | Inglês | Java | ||||
http://www.regextester.com | Inglês | CC 2.5 | Java |
Programas
Nome | Plataforma | Língua | Licença | Funcionalidades | Tem "ajudas"? | ExpReg compatíveis?[3] | Aceita texto de entrada longo?[4] | Principal vantagem |
---|---|---|---|---|---|---|---|---|
https://addons.mozilla.org/en-US/firefox/addon/2077 | n/a (Firefox) | Português (parcialmente) | GPL v2 | Extra (add-on) para o Firefox | ||||
Regulator | Windows | Inglês | LGPL | [5] | ||||
regexbuilder | Windows | Inglês | GPL | Bastante simples | ||||
reggy | Mac OSX | Inglês | GPL v2 | |||||
jregexptester | LGPL v2.1 |
Notas
- ↑ a b Os metacaracteres
^
e$
são adicionados automaticamente em MediaWiki:Titleblacklist - ver mw:Extension:SpamBlacklist#Syntax - ↑ Não é necessário utilizar
(?i:expressão)
em MediaWiki:Titleblacklist - ver mw:Extension:Title Blacklist - ↑ a b "ExpReg compatíveis?" - testado com a expressão regular
\x{25}
Nota: Apesar da maioria dos programas e sítios não terem expressões regulares compatíveis com as utilizadas no MediaWiki, estes podem ser utilizados com as expressões regulares mais comuns. - ↑ "Aceita texto de entrada longo" - programas testados com todos os títulos de páginas do domínio principal da Wikipédia lusófona (15.000.000 caracteres; 885.000 linhas)
- ↑ O programa "Regulator" aceita um texto de entrada bastante longo mas a importação do texto é demorada (~15min). Após importar o texto, o programa fica um pouco lento apesar de ser razoavelmente rápido a detetar as correspondências das expressões regulares no texto.
Ver também
Ligações externas
- Tabelas Unicode no site oficial do Unicode Consortium (em inglês) - disponíveis apenas no formato PDF
- Expressões regulares e o uso de Unicode (em inglês)