Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Character class intersection
    [\w&&[^\d]]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
Processing...

Test String

Substitution
Processing...

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "(<img.*?)(height=\".*?\")|(width=\".*?\")(.*?>)"; final String string = "<p>Os inscritos no <a href=\"https://folhadirigida.com.br/concursos/comaer/aeronautica-afa-2020/noticias?utm_source=site&amp;utm_medium=materias&amp;utm_campaign=jornalismo\" title=\"Saiba mais sobre o concurso\">concurso AFA</a> devem ficar atentos, pois a Aeron&aacute;utica j&aacute; divulgou o <strong>novo cronograma da sele&ccedil;&atilde;o</strong>. A informa&ccedil;&atilde;o foi publicada no pr&oacute;prio&nbsp;site de ingresso da For&ccedil;a A&eacute;rea Brasileira.&nbsp;[tag_teads]</p>\n\n" + "<p>Agora, os <strong>exames ser&atilde;o aplicados</strong> no dia 11 de outubro, com os&nbsp;<strong>locais&nbsp;</strong><strong>das avalia&ccedil;&otilde;es</strong> sendo&nbsp;disponibilizados a partir do dia 25 de setembro. J&aacute; o <strong>Cart&atilde;o de Confirma&ccedil;&atilde;o de Inscri&ccedil;&atilde;o</strong> poder&aacute; ser impresso no per&iacute;odo de 3 a 10 de outubro.&nbsp;</p>\n\n" + "<p><u>Confira abaixo o novo cronograma:</u></p>\n\n" + "<ul>\n" + " <li><strong>pagamento da taxa de inscri&ccedil;&atilde;o (para candidatos j&aacute; inscritos):</strong> at&eacute; o dia 20/07.</li>\n" + " <li><strong>provas escritas:</strong> 11/10</li>\n" + " <li>concentra&ccedil;&atilde;o intermedi&aacute;ria: &nbsp;07/12 (1&ordf; data, apenas para convocados) e&nbsp;14/12 (2&ordf; data, apenas para convocados)</li>\n" + " <li>inspe&ccedil;&atilde;o de sa&uacute;de:&nbsp;08/12 a 21/12</li>\n" + " <li>exame de aptid&atilde;o psicol&oacute;gica:&nbsp;08/12 a 21/12</li>\n" + " <li>entrevista informativa:&nbsp;01/03/2021 e 02/03/2021</li>\n" + " <li>Teste de Avalia&ccedil;&atilde;o do Condicionamento F&iacute;sico (TACF):&nbsp;02/02/2021 a 04/02/2021&nbsp;</li>\n" + " <li>matr&iacute;cula e in&iacute;cio do curso de forma&ccedil;&atilde;o:&nbsp;25/03/2021</li>\n" + "</ul>\n\n" + "<p><br />\n" + "O novo cronograma poder ser consultado na &iacute;ntegra, por meio do <a href=\"https://ingresso.afaepcar.fab.mil.br/afa2021\" title=\"Site de ingresso\">site de ingresso da sele&ccedil;&atilde;o</a>. O concurso para a&nbsp;Academia de For&ccedil;a A&eacute;rea (AFA)&nbsp;tem uma oferta de 81 vagas. Todas as chances&nbsp;s&atilde;o para n&iacute;vel m&eacute;dio.</p>\n\n" + "<p>A sele&ccedil;&atilde;o &eacute; direcionada para os&nbsp;Cursos de Forma&ccedil;&atilde;o de Oficiais Aviadores, Intendentes e&nbsp;de Infantaria para o&nbsp;ano de 2021, nos seguintes quadros: Oficiais Intendentes - 35 vagas; Quadro de Oficiais Aviadores - 18 vagas; e Quadro de Oficiais da Infantaria - 28 vagas.</p>\n\n" + "<p>Ambos os sexos puderam se inscrever para as &aacute;reas Aviadores e Intendentes. Para oficiais de infantaria da Aeron&aacute;utica foram aceitos apenas concorrentes&nbsp;do sexo masculino.</p>\n\n" + "<h3><span style=\"color:#d35400\"><strong>Saiba mais sobre o concurso AFA:</strong></span></h3>\n\n" + "<ul>\n" + " <li><a href=\"#Como serão as provas\">Como ser&atilde;o as provas e em quais cidades?</a></li>\n" + " <li><a href=\"#Requisitos e ganhos\">Requisitos e ganhos</a></li>\n" + " <li><a href=\"#Resumo do concurso\">Resumo do concurso</a>&nbsp;<br />\n" + " &nbsp;</li>\n" + "</ul>\n\n" + "<div style=\"text-align:center\">\n" + "<figure class=\"image\" style=\"display:inline-block\"><img alt=\"Concurso AFA tem nova data das provas escritas para outubro (Foto: Divulgação)\" height=\"286\" src=\"http://admin.folhadirigida.com.br/filemanager/files/noticias/Fotos/Aeronautica_Sgt_Batista_-_Forca_Aerea_Brasileira.jpg\" width=\"430\" />\n" + "<figcaption>Concurso AFA tem nova data das provas escritas para outubro<br />\n" + "(Foto: Divulga&ccedil;&atilde;o)</figcaption>\n" + "</figure>\n" + "</div>\n\n" + "<h2><br />\n" + "<strong>Provas do concurso AFA ser&atilde;o em diversas cidades<a id=\"Como serão as provas\" name=\"Como serão as provas\"></a></strong></h2>\n\n" + "<p>Todos os inscritos no concurso da&nbsp;Aeron&aacute;utica para a Academia de For&ccedil;a A&eacute;rea (AFA) ser&atilde;o avaliados por meio de diversas etapas, sendo a primeira fase composta por<strong>&nbsp;provas escritas</strong>. Agora, o exame est&aacute; marcado para o dia <strong>11 de outubro.</strong></p>\n\n" + "<p><img alt=\"enlightened\" height=\"23\" src=\"https://cdn.ckeditor.com/4.9.0/full/plugins/smiley/images/lightbulb.png\" title=\"enlightened\" width=\"23\" /><a href=\"https://folhadirigida.com.br/noticias/concurso/visualizar/protocolos-bancas-de-concurso-no-pos-pandemia?utm_source=site&amp;utm_medium=materias&amp;utm_campaign=jornalismo\" title=\"Concursos no pós-pandemia: bancas revelam novo protocolo para provas\">Concursos no p&oacute;s-pandemia: bancas revelam novo protocolo para provas</a></p>\n\n" + "<p>As avalia&ccedil;&otilde;es ser&atilde;o aplicadas&nbsp;nas seguintes cidades:</p>\n\n" + "<ul>\n" + " <li>Bras&iacute;lia-DF;</li>\n" + " <li>Canoas-RS;</li>\n" + " <li>Campo Grande-MS;</li>\n" + " <li>Porto Velho-RO;</li>\n" + " <li>Boa Vista-RR;</li>\n" + " <li>Manaus-AM;</li>\n" + " <li>Bel&eacute;m-PA;</li>\n" + " <li>Parnamirim-RN;</li>\n" + " <li>Salvador-BA;</li>\n" + " <li>Curitiba-PR;</li>\n" + " <li>Recife-PE;</li>\n" + " <li>Rio de Janeiro-RJ;</li>\n" + " <li>S&atilde;o Paulo-SP;</li>\n" + " <li>Pirassununga-SP;</li>\n" + " <li>Barbacena-MG; e</li>\n" + " <li>Belo Horizonte-MG.</li>\n" + "</ul>\n\n" + "<p><br />\n" + "Na ocasi&atilde;o, os candidatos ter&atilde;o que responder a&nbsp;<strong>64 quest&otilde;es</strong>&nbsp;de L&iacute;ngua Portuguesa (16), L&iacute;ngua Inglesa (16), Matem&aacute;tica (16) e F&iacute;sica (16). Al&eacute;m disso, haver&aacute; uma Reda&ccedil;&atilde;o que consistir&aacute; em um&nbsp;texto sobre tema a ser conhecido no momento do exame.</p>\n\n" + "<h2><strong>Ganhos ser&atilde;o&nbsp;de&nbsp;R$6,9 mil ap&oacute;s Curso&nbsp;de Forma&ccedil;&atilde;o de Oficiais<a id=\"Requisitos e ganhos\" name=\"Requisitos e ganhos\"></a></strong></h2>\n\n" + "<p>Publicados em fevereiro deste ano, os editais do&nbsp;<a href=\"https://folhadirigida.com.br/concursos/comaer/aeronautica-afa-2020/noticias?utm_source=site&amp;utm_medium=materias&amp;utm_campaign=jornalismo\" title=\"Saiba mais sobre o concurso\">concurso AFA</a>&nbsp;exigiam&nbsp;o n&iacute;vel m&eacute;dio e n&atilde;o ter idade menor que 17 anos e nem completar 23 anos&nbsp;at&eacute; 31 de dezembro do ano da matr&iacute;cula.&nbsp;</p>\n\n" + "<p><span style=\"color:#d35400\">+</span>&nbsp;<a href=\"https://folhadirigida.com.br/noticias/concurso/exercito-brasileiro/exercito-edital-2020?utm_source=site&amp;utm_medium=materias&amp;utm_campaign=jornalismo\" title=\"Sai edital do Exército com vagas nos níveis técnico e superior\">Sai edital do Ex&eacute;rcito com vagas nos n&iacute;veis t&eacute;cnico e superior</a></p>\n\n" + "<p>Durante o curso, os classificados receber&atilde;o&nbsp;R$1.176. Ap&oacute;s a realiza&ccedil;&atilde;o do curso, com aproveitamento, o cadete ser&aacute; nomeado a aspirante a oficial da FAB, recebendo&nbsp;<strong>R$6.993</strong>.</p>\n\n" + "<p>Vale ressaltar que esses valores s&atilde;o referentes ao ano de 2019 e podem sofrer reajustes. Os aprovados ainda ter&atilde;o adicionais militar e de habilita&ccedil;&atilde;o.</p>\n\n" + "<h3><span style=\"color:#3498db\"><strong>Resumo do concurso AFA 2020<a id=\"Resumo do concurso\" name=\"Resumo do concurso\"></a></strong></span></h3>\n\n" + "<ul>\n" + " <li><strong>&Oacute;rg&atilde;o:</strong>&nbsp;Aeron&aacute;utica</li>\n" + " <li><strong>Vagas:</strong>&nbsp;81</li>\n" + " <li><strong>&Aacute;reas:</strong>&nbsp;avia&ccedil;&atilde;o, intend&ecirc;ncia e infantaria</li>\n" + " <li><strong>Inscri&ccedil;&atilde;o:</strong>&nbsp;28/02 a 19/03</li>\n" + " <li><strong>Remunera&ccedil;&atilde;o:&nbsp;</strong>R$1.176&nbsp;(durante o CFO) e&nbsp;R$6.993 (ap&oacute;s o CFO)</li>\n" + " <li><strong>Provas:</strong>&nbsp;11 de outubro</li>\n" + " <li><a href=\"https://folhadirigida.com.br/concursos/comaer/aeronautica-afa-2020/documentos?tipo=Outros\" target=\"_blank\" title=\"Editais do concurso AFA\">Link para os editais de abertura do concurso AFA</a></li>\n" + "</ul>"; final String subst = "$1$4"; final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("Substitution result: " + result); } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html