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

  1. Digite a expressão regular e os flags.
  2. 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.