Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

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]
  • 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

/
/
g

Test String

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 = "[^0-9]"; final String string = "02-19 12:39:15.788 26903-27412/br.com.iuapp.iuapp D/JOBS: added job id: 2 class: ManageLocalContactsJob priority: 1 delay: 0 group : null persistent: true requires network: true\n" + "02-19 12:39:15.788 26903-27412/br.com.iuapp.iuapp D/ManageLocalContactsJob: JOBADDED\n" + "02-19 12:39:15.837 26903-27415/br.com.iuapp.iuapp D/JOBS: running job ManageLocalContactsJob\n" + "02-19 12:39:16.073 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 18983CONTATO: (IT) Mauricio TELEFONE ORIGINAL: 0411178396138 TELEFONE LIMPO: 1178396138\n" + "02-19 12:39:16.156 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 21164CONTATO: +55 31 2138 8236 TELEFONE ORIGINAL: +553121388236 TELEFONE LIMPO: 3121388236\n" + "02-19 12:39:16.223 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 202CONTATO: +5511943692511 TELEFONE ORIGINAL: +5511943692511 TELEFONE LIMPO: 11943692511\n" + "02-19 12:39:16.363 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 199CONTATO: +5511982836177 TELEFONE ORIGINAL: +5511982836177 TELEFONE LIMPO: 11982836177\n" + "02-19 12:39:16.427 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 227CONTATO: +5511999172608 TELEFONE ORIGINAL: +5511999172608 TELEFONE LIMPO: 11999172608\n" + "02-19 12:39:16.517 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 5181CONTATO: AJ Vicente TELEFONE ORIGINAL: 01123062621 TELEFONE LIMPO: 1123062621\n" + "02-19 12:39:16.605 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 5180CONTATO: AJ Vicente TELEFONE ORIGINAL: 011983317641 TELEFONE LIMPO: 11983317641\n" + "02-19 12:39:16.703 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 12731CONTATO: ANTONIO JOSE VICENTE TELEFONE ORIGINAL: 551123062621 TELEFONE LIMPO: 1123062621\n" + "02-19 12:39:16.774 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 12732CONTATO: ANTONIO JOSE VICENTE TELEFONE ORIGINAL: 5511983317641 TELEFONE LIMPO: 11983317641\n" + "02-19 12:39:16.812 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 11615CONTATO: ARNALDO NASHIRO TELEFONE ORIGINAL: 551131776200 TELEFONE LIMPO: 1131776200\n" + "02-19 12:39:16.885 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 11616CONTATO: ARNALDO NASHIRO TELEFONE ORIGINAL: 551131776243 TELEFONE LIMPO: 1131776243\n" + "02-19 12:39:16.951 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 14980CONTATO: Abel Reis TELEFONE ORIGINAL: 01137593600 TELEFONE LIMPO: 1137593600\n" + "02-19 12:39:17.016 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 12914CONTATO: Adalberto Vianna TELEFONE ORIGINAL: +5511992338663 TELEFONE LIMPO: 11992338663\n" + "02-19 12:39:17.129 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3135CONTATO: Adan TELEFONE ORIGINAL: 01333116191 TELEFONE LIMPO: 1333116191\n" + "02-19 12:39:17.215 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3134CONTATO: Adan TELEFONE ORIGINAL: 01397166702 TELEFONE LIMPO: 1397166702\n" + "02-19 12:39:17.301 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3221CONTATO: Adriana Assis TELEFONE ORIGINAL: 0411193445311 TELEFONE LIMPO: 1193445311\n" + "02-19 12:39:17.361 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3222CONTATO: Adriana Assis TELEFONE ORIGINAL: 1151891667 TELEFONE LIMPO: 1151891667\n" + "02-19 12:39:17.401 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 22966CONTATO: Adriana Schwartz TELEFONE ORIGINAL: +5511964968822 TELEFONE LIMPO: 11964968822\n" + "02-19 12:39:17.442 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3146CONTATO: Adriana Trapp (ACE) TELEFONE ORIGINAL: 1150191034 TELEFONE LIMPO: 1150191034\n" + "02-19 12:39:17.460 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3145CONTATO: Adriana Trapp (ACE) TELEFONE ORIGINAL: 0411199199138 TELEFONE LIMPO: 1199199138\n" + "02-19 12:39:17.478 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 22982CONTATO: Adriano Fernandes TELEFONE ORIGINAL: +5511995597192 TELEFONE LIMPO: 11995597192\n" + "02-19 12:39:17.490 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 1109CONTATO: Adriano Fernandes TELEFONE ORIGINAL: +551195597192 TELEFONE LIMPO: 1195597192\n" + "02-19 12:39:17.502 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3965CONTATO: Adriano Fernandes TELEFONE ORIGINAL: +5511995597192 TELEFONE LIMPO: 11995597192\n" + "02-19 12:39:17.527 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 664CONTATO: Afonso obra TELEFONE ORIGINAL: 01186099135 TELEFONE LIMPO: 1186099135\n" + "02-19 12:39:17.560 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4306CONTATO: Afonso obra TELEFONE ORIGINAL: 011986099135 TELEFONE LIMPO: 11986099135\n" + "02-19 12:39:17.596 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 32282CONTATO: Alan Martins TELEFONE ORIGINAL: +553133951732 TELEFONE LIMPO: 3133951732\n" + "02-19 12:39:17.614 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 15169CONTATO: Alan Martins TELEFONE ORIGINAL: +553175728232 TELEFONE LIMPO: 3175728232\n" + "02-19 12:39:17.633 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 10704CONTATO: Alberto Abubakir TELEFONE ORIGINAL: 07132453413 TELEFONE LIMPO: 7132453413\n" + "02-19 12:39:17.657 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 10705CONTATO: Alberto Abubakir TELEFONE ORIGINAL: 07134515531 TELEFONE LIMPO: 7134515531\n" + "02-19 12:39:17.686 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 23035CONTATO: Alberto Abubakir TELEFONE ORIGINAL: 07188459583 TELEFONE LIMPO: 7188459583\n" + "02-19 12:39:17.698 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 10706CONTATO: Alberto Abubakir TELEFONE ORIGINAL: 071988459583 TELEFONE LIMPO: 71988459583\n" + "02-19 12:39:17.718 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4354CONTATO: Alberto Alberto Villaça Villaça TELEFONE ORIGINAL: 01121315010 TELEFONE LIMPO: 1121315010\n" + "02-19 12:39:17.743 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4353CONTATO: Alberto Alberto Villaça Villaça TELEFONE ORIGINAL: 011983034499 TELEFONE LIMPO: 11983034499\n" + "02-19 12:39:17.781 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 23071CONTATO: Alberto Matos TELEFONE ORIGINAL: +557133587399 TELEFONE LIMPO: 7133587399\n" + "02-19 12:39:17.794 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 23072CONTATO: Alberto Matos TELEFONE ORIGINAL: +557134512182 TELEFONE LIMPO: 7134512182\n" + "02-19 12:39:17.806 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 23070CONTATO: Alberto Matos TELEFONE ORIGINAL: +557191599419 TELEFONE LIMPO: 7191599419\n" + "02-19 12:39:17.823 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 23073CONTATO: Alberto Matos TELEFONE ORIGINAL: +557199823924 TELEFONE LIMPO: 7199823924\n" + "02-19 12:39:17.836 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 7388CONTATO: Alberto Matos TELEFONE ORIGINAL: +557133587399 TELEFONE LIMPO: 7133587399\n" + "02-19 12:39:17.854 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 7387CONTATO: Alberto Matos TELEFONE ORIGINAL: +557134512182 TELEFONE LIMPO: 7134512182\n" + "02-19 12:39:17.876 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 7385CONTATO: Alberto Matos TELEFONE ORIGINAL: +557191599419 TELEFONE LIMPO: 7191599419\n" + "02-19 12:39:17.923 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 7386CONTATO: Alberto Matos TELEFONE ORIGINAL: +557199823924 TELEFONE LIMPO: 7199823924\n" + "02-19 12:39:17.991 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 13977CONTATO: Alberto Mimane TELEFONE ORIGINAL: 11999390213 TELEFONE LIMPO: 11999390213\n" + "02-19 12:39:18.098 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4847CONTATO: Albinha TELEFONE ORIGINAL: +5511986452722 TELEFONE LIMPO: 11986452722\n" + "02-19 12:39:18.194 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 31698CONTATO: Alda Ferreira TELEFONE ORIGINAL: +5571987994206 TELEFONE LIMPO: 71987994206\n" + "02-19 12:39:18.256 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3770CONTATO: Aldeia de Cambury TELEFONE ORIGINAL: 01238652138 TELEFONE LIMPO: 1238652138\n" + "02-19 12:39:18.335 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4343CONTATO: Ale TELEFONE ORIGINAL: 011982990880 TELEFONE LIMPO: 11982990880\n" + "02-19 12:39:18.453 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 20857CONTATO: Alessandra Martins TELEFONE ORIGINAL: 011996118767 TELEFONE LIMPO: 11996118767\n" + "02-19 12:39:18.534 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4805CONTATO: Alessandra Martins Machado Baggio TELEFONE ORIGINAL: 03121387154 TELEFONE LIMPO: 3121387154\n" + "02-19 12:39:18.599 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3091CONTATO: Alessandro Nasser TELEFONE ORIGINAL: 01150542532 TELEFONE LIMPO: 1150542532\n" + "02-19 12:39:18.667 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3093CONTATO: Alessandro Nasser TELEFONE ORIGINAL: 01151891323 TELEFONE LIMPO: 1151891323\n" + "02-19 12:39:18.737 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3092CONTATO: Alessandro Nasser TELEFONE ORIGINAL: 01196533828 TELEFONE LIMPO: 1196533828\n" + "02-19 12:39:18.795 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 11852CONTATO: Alex Fabian Colares Silva TELEFONE ORIGINAL: 01130402644 TELEFONE LIMPO: 1130402644\n" + "02-19 12:39:18.895 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 11853CONTATO: Alex Fabian Colares Silva TELEFONE ORIGINAL: 01138468647 TELEFONE LIMPO: 1138468647\n" + "02-19 12:39:18.988 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 13474CONTATO: Alex Malchik TELEFONE ORIGINAL: +5511950268070 TELEFONE LIMPO: 11950268070\n" + "02-19 12:39:19.054 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 14436CONTATO: Alex Todres TELEFONE ORIGINAL: 551147609497 TELEFONE LIMPO: 1147609497\n" + "02-19 12:39:19.125 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 14435CONTATO: Alex Todres TELEFONE ORIGINAL: 5511983692223 TELEFONE LIMPO: 11983692223\n" + "02-19 12:39:19.198 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4738CONTATO: Alex Tostes TELEFONE ORIGINAL: 01511988252180 TELEFONE LIMPO: 11988252180\n" + "02-19 12:39:19.260 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4739CONTATO: Alex Tostes TELEFONE ORIGINAL: 01121752133 TELEFONE LIMPO: 1121752133\n" + "02-19 12:39:19.349 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 18943CONTATO: Alex Tostes TELEFONE ORIGINAL: 01511988252180 TELEFONE LIMPO: 11988252180\n" + "02-19 12:39:19.384 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 7095CONTATO: Alexandra TELEFONE ORIGINAL: 1176822827 TELEFONE LIMPO: 1176822827\n" + "02-19 12:39:19.450 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 8213CONTATO: Alexandra TELEFONE ORIGINAL: 11976822827 TELEFONE LIMPO: 11976822827\n" + "02-19 12:39:19.551 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 11919CONTATO: Alexandre Borges TELEFONE ORIGINAL: 1130495528 TELEFONE LIMPO: 1130495528\n" + "02-19 12:39:19.582 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 11918CONTATO: Alexandre Borges TELEFONE ORIGINAL: 1194441945 TELEFONE LIMPO: 1194441945\n" + "02-19 12:39:19.600 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 14577CONTATO: Alexandre Borges TELEFONE ORIGINAL: 11994441945 TELEFONE LIMPO: 11994441945\n" + "02-19 12:39:19.618 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 10601CONTATO: Alexandre Brito TELEFONE ORIGINAL: 01193902317 TELEFONE LIMPO: 1193902317\n" + "02-19 12:39:19.636 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 4877CONTATO: Alexandre Brito TELEFONE ORIGINAL: +5511993902317 TELEFONE LIMPO: 11993902317\n" + "02-19 12:39:19.671 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 2647CONTATO: Alexandre Cesar C. Alves TELEFONE ORIGINAL: 01135118843 TELEFONE LIMPO: 1135118843\n" + "02-19 12:39:19.707 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 2904CONTATO: Alexandre Cesar C. Alves TELEFONE ORIGINAL: 01185248218 TELEFONE LIMPO: 1185248218\n" + "02-19 12:39:19.725 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3242CONTATO: Alexandre Cezar Suplicy Teixeira TELEFONE ORIGINAL: 01137677408 TELEFONE LIMPO: 1137677408\n" + "02-19 12:39:19.755 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 3241CONTATO: Alexandre Cezar Suplicy Teixeira TELEFONE ORIGINAL: 01199093057 TELEFONE LIMPO: 1199093057\n" + "02-19 12:39:19.767 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 8730CONTATO: Alexandre Cezar Suplicy Teixeira TELEFONE ORIGINAL: 011999093057 TELEFONE LIMPO: 11999093057\n" + "02-19 12:39:19.801 26903-27415/br.com.iuapp.iuapp D/ManageLocalContactsJob: RowId: 34430CONTATO: Alexandre Dias TELEFO..."; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

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