[go: up one dir, main page]

Saltar para o conteúdo

Ajuda:Expressões regulares

Origem: Wikipédia, a enciclopédia livre.

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:


Outros programas/recursos não abordados especificamente nesta página (mas a mesma pode servir de ajuda):


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 Sim Sim
     sim|não|talvez Neste exemplo deteta "sim", "não" e "talvez" Sim
     muit(o|as) Neste caso detecta "muito" e "muitas" Sim Sim
. qualquer caractere (inclui espaços) Sim Sim Sim
* (0, 1 ou mais) nenhuma, uma ou mais repetições do termo anterior Sim Sim Sim
     .* Repetição (ou não) de qualquer caractere (inclui espaços) uma ou mais vezes. Sim Sim
     (ha)* Repetição (ou não) de "ha" uma ou mais vezes. Deteta "ha", "haha", "hahaha", etc. Sim Sim
     \d* Repetição (ou não) de um dígito uma ou mais vezes. Deteta "3", "823", "5961837254", etc. Sim Sim
     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". Sim Sim
+ (1 ou mais) uma ou mais repetições do termo anterior. Equivalente a {1,} Sim Sim
? (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. Sim Sim
\ Este caractere especial tem duas funções conforme o que lhe segue:
  • é utilizado como caractere de escape, para que se interprete um caractere especial como caractere normal. Por exemplo, a expressão quem\? deteta "quem?" e não "que" e "quem" caso se usasse quem?.
  • é utilizado para uma sequência especial como por exemplo número \d que deteta "número 8", "número 17456", etc. e não "número d" pois o "d" não é um caractere especial para que o "\" seja usado para caractere de escape.
Sim Sim Sim Sim
\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". Sim Sim Sim
\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) Sim Sim
\D qualquer caractere que não seja um dígito
\G
\s Espaço em branco Sim Sim Sim
\S Tudo excepto o espaço Sim
\w qualquer caractere alfanumérico incluindo traço inferior; é o equivalente a [a-z0-9_] Sim Sim
\W qualquer caractere que não seja alfanumérico, incluindo traço inferior; é o equivalente a [^a-z0-9_] Sim Sim
\z
\Z
\0 Sim
\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". Sim Sim
( ) 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)+ Sim Sim Sim
     (forum|site) novo Neste caso usa um elemento comum "novo" para detetar várias expressões como "forum novo" e "site novo" Sim Sim
     (bom){2} Neste caso agrupa "bom" como um só elemento para considerar a repetição que detecta "bombom" Sim
     (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" Sim
[ ] Permite especificar os caracteres a detetar Sim Sim Sim
     [abc] Deteta "a", "b" ou "c" Sim Sim Sim
     [0-4] Exemplo para detetar um intervalo de caracteres. Neste caso deteta "1", "2", "3" e "4" Sim Sim Sim
     [a-d] Deteta "a", "b", "c" e "d" Sim Sim Sim
     [0-4a-d] Deteta "1", "2", "3", "4", "a", "b", "c" e "d" Sim Sim
     [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" Sim
[^ ] Permite especificar os caracteres a não detetar (negação). Ver também outro uso do caractere ^ Sim Sim
     [^abc] qualquer caractere que não seja "a", "b" ou "c" Sim Sim
     [^a-f] qualquer caractere que não seja uma letra do alfabeto entre "a" e "f"; o mesmo que [^abcdef] Sim Sim
     [^0-4] qualquer caractere que não seja um número entre "0" e "4"; o mesmo que [^01234] Sim Sim
{ } 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. Sim Sim
     {número} Número exacto de vezes que o elemento anterior se repete Sim Sim
     {mínimo,} Número mínimo de vezes que o elemento anterior se repete Sim Sim
     {mínimo,máximo} Número mínimo e máximo de vezes que o elemento anterior se repete Sim Sim
(?:expressão) Permite definir um grupo de expressões ou caracteres. Não captura o grupo para referência posterior ao contrário de ( ) Sim Sim
(?!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) Sim
(?<=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 "%". Sim
\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} Não?
\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 Sim
\P{nome da classe} Caracteres que não sejam da classe definida. É semelhante ao anterior mas em negação. Sim
\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") Sim
# comentárioXPTO Utilizado para comentários. Todo o texto que se encontre após # é interpretado como comentário Sim Sim Sim
(?#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. Não[1] Sim
$ 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. Não[1]
(?i:expressão) Utilizado para considerar maiúsculas e minúsculas. Por exemplo, (?i:Meta) corresponde a "Meta", "META", "meta", "MeTa", etc. Não[2]
(?-i:expressão) Inverso do anterior. Por exemplo (?i:sím)(?-i:bolo) deteta "SIMbolo" e "símbolo" mas não "símBOLO" Não
\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 exato muito+mais\ deve-se usar a expressão muito\+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 2.5 de 3 estrelas. 2.5 de 3 estrelas. Sim
http://www.regexp.com.br Português e Inglês BY-NC-SA 3.0 Java 1 de 3 estrelas. 1.5 de 3 estrelas. Não
http://regexpal.com Inglês LGPL Java 1 de 3 estrelas. 1 de 3 estrelas. Não
http://regex.larsolavtorvik.com/#pcre Inglês Java 1 de 3 estrelas. 1 de 3 estrelas. Sim
http://regex.powertoy.org Inglês GPL Java 1.5 de 3 estrelas. 1.5 de 3 estrelas.
http://cuneytyilmaz.com/prog/jrx/ Inglês GPL Java 1 de 3 estrelas. 1 de 3 estrelas. Não
http://www.nregex.com/nregex/ Inglês Java 1.5 de 3 estrelas. 1.5 de 3 estrelas. Não
http://www.myregextester.com Inglês Java 2 de 3 estrelas. 1 de 3 estrelas. Sim
http://tools.lymas.com.br/regexp_br.php Português Java 1 de 3 estrelas. 1 de 3 estrelas. Não
http://www.idsklijnsma.nl/regexps/ Inglês Java 1 de 3 estrelas. 1 de 3 estrelas. Sim
http://www.regextester.com Inglês CC 2.5 Java 1 de 3 estrelas. 1 de 3 estrelas.


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 1 de 3 estrelas. 1 de 3 estrelas. Não Extra (add-on) para o Firefox
Regulator Windows Inglês LGPL 2 de 3 estrelas. Sim Não Sim[5]
regexbuilder Windows Inglês GPL 1 de 3 estrelas. Não Não Não Bastante simples
reggy Mac OSX Inglês GPL v2
jregexptester LGPL v2.1


Notas

  1. a b Os metacaracteres ^ e $ são adicionados automaticamente em MediaWiki:Titleblacklist - ver mw:Extension:SpamBlacklist#Syntax
  2. Não é necessário utilizar (?i:expressão) em MediaWiki:Titleblacklist - ver mw:Extension:Title Blacklist
  3. 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.
  4. "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)
  5. 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