Testador de expressões regulares
Sobre esta ferramenta
Execute expressões regulares sobre o texto de entrada e confira as correspondências. Todo o processamento acontece no seu navegador; nenhum dado é enviado.
Executar teste
—
Como usar
- Digite a expressão regular e os flags.
- Clique em “Executar teste” para mostrar as correspondências no texto.
Exemplos (expressões regulares prontas por categoria / 100+)
Básico / espaços / linhas
- Linha vazia apenas:
^\s*$
(m) - Espaços no início:
^\s+
(m) - Espaços no final:
\s+$
(m) - Espaços no início e no final (para trim):
^\s+|\s+$
(m) - Espaços consecutivos (compactar em 1):
\s{2,}
- Caracteres visíveis (não espaço):
\S+
- Apenas ASCII:
^[\x00-\x7F]+$
- ASCII imprimível:
^[\x20-\x7E]+$
- Linha contendo não-ASCII:
[^\x00-\x7F]
- Limite de palavra:
\bword\b
Números / valores
- Inteiro (sinal opcional):
^-?\d+$
- Decimal (sinal opcional):
^-?\d*\.\d+$
- Número (inteiro ou decimal):
^-?(?:\d+|\d*\.\d+)$
- Separado a cada 3 dígitos (ex.: 1,234,567):
^\d{1,3}(?:,\d{3})+$
- Valor monetário (¥ ou $, com separadores):
^(?:¥|\$)\s?\d{1,3}(?:,\d{3})*(?:\.\d{2})?$
- Percentual:
^\d{1,3}(?:\.\d+)?%
- Notação científica:
^[+-]?(?:\d+\.?\d*|\.\d+)[eE][+-]?\d+$
- Hexadecimal:
^(?:0x)?[0-9A-Fa-f]+$
- Binário:
^[01]+$
- Octal:
^[0-7]+$
Datas / horários
- Data YYYY-MM-DD (somente formato):
^\d{4}-\d{2}-\d{2}$
- Hora HH:MM (24h):
^(?:[01]\d|2[0-3]):[0-5]\d$
- Hora HH:MM:SS (24h):
^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
- Data/hora ISO8601 (simplificado):
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
- Ano/mês (YYYY/MM):
^\d{4}/(0[1-9]|1[0-2])$
- Era japonesa (Reiwa R\d+ ano, simplificado):
^令和\d+年(?:\d+月(?:\d+日)?)?$
(u) - Dia da semana (inglês, 3 letras):
^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)$
- Fuso horário (±HH:MM):
^[+-](?:[01]\d|2[0-3]):[0-5]\d$
Contatos / endereços (simplificado)
- CEP do Japão:
^\d{3}-\d{4}$
- Telefone japonês (0x-xxxx-xxxx, simplificado):
^0\d{1,4}-\d{1,4}-\d{4}$
- Telefone internacional (+código do país com espaços, simplificado):
^\+\d{1,3}\s?\d+(?:[\s-]\d+)*$
- Províncias japonesas (kanji):
^(?:東京都|北海道|(?:京都|大阪)府|.+県)$
(u) - E-mail (padrão geral):
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
- Nome de usuário (3–16 letras/números/_):
^[A-Za-z0-9_]{3,16}$
- Senha forte (mínimo 1 maiúscula, 1 minúscula, 1 número, 1 símbolo; ≥8):
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$
Web / URL / HTTP
- URL (http/https, simples):
https?:\/\/\S+
- Domínio (sem Punycode, simples):
^(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$
- Host com subdomínios:
^(?:[A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.[A-Za-z]{2,}$
- Parâmetro de query key=value:
[?&]([A-Za-z0-9._~-]+)=([^&#]+)
- Fragmento:
#\w[\w-]*
- Extensão de arquivo (.png|.jpg|.gif etc.):
\.(?:png|jpe?g|gif|webp|svg)$
(i) - Métodos HTTP:
^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)$
- Linha de cabeçalho HTTP:
^[A-Za-z0-9-]+:\s?.+$
(m) - Cabeçalho Basic auth:
^Basic\s+[A-Za-z0-9+/=]+$
- Cabeçalho Bearer token:
^Bearer\s+[A-Za-z0-9\-\._~\+\/]+=*$
Rede (IP/MAC/CIDR/UUID/JWT etc.)
- IPv4 (0–255 estrito):
\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\b
- IPv6 (suporta abreviação, simples):
\b(?:[A-Fa-f0-9]{1,4}:){2,7}[A-Fa-f0-9]{1,4}\b
- Endereço MAC (separado por :):
^(?:[0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$
- Endereço MAC (separado por -):
^(?:[0-9A-Fa-f]{2}-){5}[0-9A-Fa-f]{2}$
- CIDR (IPv4, tamanho 0–32):
^\b(?:\d{1,3}\.){3}\d{1,3}\/(?:[0-9]|[12]\d|3[0-2])\b$
- UUID v4:
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
(i) - GUID (sem diferenciar maiúsculas/minúsculas):
^{?[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}}?$
(i) - Base64 (com padding):
^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
- JWT (três segmentos separados por ponto):
^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$
- Chave pública SSH (ssh-rsa/ed25519):
^ssh-(?:rsa|ed25519)\s+[A-Za-z0-9+/=]+(?:\s.+)?$
Arquivos / caminhos / versões
- Caminho absoluto do Windows:
^[A-Za-z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$
- Caminho absoluto do UNIX:
^\/(?:[^\/\0]+\/)*[^\/\0]*$
- Nome de arquivo seguro (apenas letras/números ._-):
^[A-Za-z0-9._-]+$
- Capturar extensão de arquivo:
\.([A-Za-z0-9]+)$
- Hash do Git (7–40 caracteres):
^[0-9a-f]{7,40}$
- SemVer:
^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$
- Imagem Docker:tag:
^[a-z0-9]+(?:[._-][a-z0-9]+)*(?::[\w.-]+)?$
- Nome de pacote NPM (simples):
^(?:@[\w-]+\/)?[\w.-]+$
- Slug de URL:
^[a-z0-9]+(?:-[a-z0-9]+)*$
Front-end (HTML/CSS/cores)
- Tag HTML (início/fim pareados, simples):
<([A-Za-z][A-Za-z0-9]*)\b[^>]*>([\s\S]*?)<\/\1>
- Comentário HTML:
<!--[\s\S]*?-->
- Valor do atributo href:
href\s*=\s*"(.*?)"
(i) - Cor CSS (#RGB/#RRGGBB):
^#(?:[0-9A-Fa-f]{3}){1,2}$
- CSS rgb():
^rgb\(\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*\)$
- CSS hsl():
^hsl\(\s*(?:\d|[1-2]\d{2}|3[0-5]\d)\s*,\s*(?:\d|[1-9]\d)%\s*,\s*(?:\d|[1-9]\d)%\s*\)$
- Unidade CSS (px, em etc.):
^-?\d+(?:\.\d+)?(?:px|em|rem|vh|vw|%)$
Strings / sintaxe (trechos de código)
- Identificador JavaScript (simples):
^[A-Za-z_$][A-Za-z0-9_$]*$
- Linha de comentário JavaScript //:
^\s*\/\/.*$
(m) - Comentário de bloco JavaScript:
\/\*[\s\S]*?\*\/
- String entre aspas duplas (escapes simples):
"(?:[^"\\]|\\.)*"
- String entre aspas simples:
'(?:[^'\\]|\\.)*'
- Template literal (simplificado):
`(?:[^`\\]|\\.|\\${[^}]*})*`
- Chave JSON:
"([A-Za-z0-9_]+)"\s*:
- Célula CSV (suporta aspas duplas, simples):
(?:"(?:[^"]|"")*"|[^,\r\n]*)
- Extrair URL em corpo de e-mail:
https?:\/\/[^\s)>"]+
Segurança / validação (use com cuidado)
- Cartão de crédito (sem Luhn, rápido):
\b(?:\d[ -]*?){13,19}\b
- VISA (começa com 4, 13/16/19 dígitos):
\b4\d{12}(?:\d{3})?(?:\d{3})?\b
- Mastercard (51–55 / 2221–2720):
\b(?:5[1-5]\d{14}|2(?:2[2-9]\d{2}|[3-6]\d{3}|7[01]\d{2}|720\d{2})\d{10})\b
- Número My Number japonês (somente formato):
^\d{12}$
- CEP + linha de endereço (simplificado):
^\d{3}-\d{4}\s+.+$
- Detectar tag <script> (simplificado):
<\s*script\b[^>]*>[\s\S]*?<\s*\/\s*script\s*>
- Palavras típicas de SQL (simples):
\b(SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE)\b
(i)
※ Ao usar para extrair ou validar dados pessoais ou confidenciais, confirme as leis e políticas internas.
Logs / formatos
- Apache/Nginx CLF (simplificado):
^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"([^"]+)"\s+(\d{3})\s+(\d+|-)
- Extrair timestamp ISO8601:
\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})
- JSON Lines (1 linha = 1 JSON):
^\{.*\}$
(m) - Extrair UUID:
[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}
(i) - Extrair IP (IPv4, simples):
\b(?:\d{1,3}\.){3}\d{1,3}\b
Markdown
- Cabeçalhos (#~######):
^(#{1,6})\s+(.+)$
(m) - Links:
\[([^\]]+)\]\(([^)]+)\)
- Imagens:
!\[([^\]]*)\]\(([^)]+)\)
- Código inline:
`([^`]+)`
- Bloco de código (```…```, simples):
```[\s\S]*?```
- Lista com marcadores (- * +):
^\s*[-*+]\s+.+$
(m) - Citação >:
^\s*>\s+.+$
(m)
Escrita japonesa / tipos de caracteres (Unicode, recomende o flag u)
- Somente hiragana:
^[\u3041-\u3096]+$
(u) - Somente katakana:
^[\u30A1-\u30FA\u30FC]+$
(u) - Somente katakana meia largura:
^[\uFF66-\uFF9D\uFF70]+$
(u) - Contém kanji:
[\u4E00-\u9FFF]
(u) - Somente caracteres de largura total:
^[^\x00-\x7F]+$
- Alfanumérico largura total:
^[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+$
(u) - CEP (aceita dígitos de largura total, simples):
^[0-9\d]{3}-[0-9\d]{4}$
(u) - Furigana (katakana largura total):
^[\u30A1-\u30FA\u30FC\s]+$
(u)
Utilitários de texto
- Remover número inicial “1. ”:
^\s*\d+\.\s*
(m) - Remover prefixos de lista:
^\s*(?:[-*+]|•|\d+\.)\s*
(m) - Capturar conteúdo entre parênteses:
\(([^)]*)\)
- Capturar entre aspas duplas:
"([^"\\]|\\.)*"
- Extrair valor em ienes “¥123,456”:
¥\s?\d{1,3}(?:,\d{3})*
- Extrair domínio de e-mail:
@([A-Za-z0-9.-]+\.[A-Za-z]{2,})
- Remover tags HTML (simples):
<[^>]+>
- Espaços duplicados → 1:
\s{2,}
Outros úteis
- Placa de veículo japonesa (bem simples):
^[\u3041-\u3096\u30A1-\u30FA\u4E00-\u9FFF]{1,2}\s?\d{3,4}$
(u) - ID de vídeo do YouTube:
(?<=v=|youtu\.be\/)[A-Za-z0-9_-]{11}
- Usuário do Twitter/X @handle:
@[A-Za-z0-9_]{1,15}
- Canal do Slack:
#[a-z0-9_-]{1,80}
- Nomes de cores (algumas palavras-chave CSS):
\b(?:red|green|blue|black|white|gray|silver|maroon)\b
(i) - Extrair anotação entre colchetes 〔…〕:
[([^]]*)]|【([^】]*)】|〔([^〕]*)〕
(u) - Detectar katakana meia largura:
[\uFF61-\uFF9F]
(u) - Palavra em inglês (inclui hífen):
\b[A-Za-z]+(?:-[A-Za-z]+)*\b
- Número de pedido no e-mail (ex. #12345):
#\d{4,}
- Nome de estação japonesa (termina com 「駅」):
.+駅\b
(u)
※ Este é um conjunto prático de padrões “prontos para colar”. Para validações rigorosas (ano bissexto, domínios IDN, parsing HTML completo etc.), avalie usar lógica ou bibliotecas específicas.