Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
gm

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 = ">[^<>]+<"; final String string = "<html>\n\n" + "<head>\n" + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">\n" + "<title>Suessgraeser</title>\n" + "<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">\n" + "<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">\n" + "<meta name=\"Microsoft Theme\" content=\"expeditn 011, default\">\n" + "<meta name=\"Microsoft Border\" content=\"none, default\">\n" + "</head>\n\n" + "<body background=\"../../_themes/expeditn/exptextb.jpg\" bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#993300\" vlink=\"#666600\" alink=\"#CC3300\"><!--mstheme--><font face=\"Book Antiqua, Times New Roman, Times\">\n" + "<p align=\"center\"><!--webbot bot=\"Navigation\" S-Type=\"top\"\n" + "S-Orientation=\"horizontal\" S-Rendering=\"graphics\" B-Include-Home=\"TRUE\"\n" + "B-Include-Up=\"TRUE\" U-Page S-Target startspan --><script language=\"JavaScript\"><!--\n" + "MSFPhover = \n" + " (((navigator.appName == \"Netscape\") && \n" + " (parseInt(navigator.appVersion) >= 3 )) || \n" + " ((navigator.appName == \"Microsoft Internet Explorer\") && \n" + " (parseInt(navigator.appVersion) >= 4 ))); \n" + "function MSFPpreload(img) \n" + "{\n" + " var a=new Image(); a.src=img; return a; \n" + "}\n" + "// --></script><script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav1n=MSFPpreload(\"../../_derived/home_cmp_expeditn010_hbtn.gif\"); MSFPnav1h=MSFPpreload(\"../../_derived/home_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../index.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav1'].src=MSFPnav1h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav1'].src=MSFPnav1n.src\"><img src=\"../../_derived/home_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Home\" align=\"middle\" name=\"MSFPnav1\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav2n=MSFPpreload(\"../../_derived/up_cmp_expeditn010_hbtn.gif\"); MSFPnav2h=MSFPpreload(\"../../_derived/up_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../monoco_gras.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav2'].src=MSFPnav2h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav2'].src=MSFPnav2n.src\"><img src=\"../../_derived/up_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Nach oben\" align=\"middle\" name=\"MSFPnav2\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav3n=MSFPpreload(\"../../Hauptgruppen/_derived/Systematik.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav3h=MSFPpreload(\"../../Hauptgruppen/_derived/Systematik.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../Hauptgruppen/Systematik.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav3'].src=MSFPnav3h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav3'].src=MSFPnav3n.src\"><img src=\"../../Hauptgruppen/_derived/Systematik.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Systematik\" align=\"middle\" name=\"MSFPnav3\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav4n=MSFPpreload(\"../../Bestimmung/_derived/bestimmung.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav4h=MSFPpreload(\"../../Bestimmung/_derived/bestimmung.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../Bestimmung/bestimmung.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav4'].src=MSFPnav4h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav4'].src=MSFPnav4n.src\"><img src=\"../../Bestimmung/_derived/bestimmung.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Bestimmung\" align=\"middle\" name=\"MSFPnav4\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav5n=MSFPpreload(\"../../_derived/bestimmungsschluessel.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav5h=MSFPpreload(\"../../_derived/bestimmungsschluessel.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../bestimmungsschluessel.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav5'].src=MSFPnav5h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav5'].src=MSFPnav5n.src\"><img src=\"../../_derived/bestimmungsschluessel.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Familien\" align=\"middle\" name=\"MSFPnav5\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav6n=MSFPpreload(\"../../Fundorte/_derived/fundorte.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav6h=MSFPpreload(\"../../Fundorte/_derived/fundorte.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../Fundorte/fundorte.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav6'].src=MSFPnav6h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav6'].src=MSFPnav6n.src\"><img src=\"../../Fundorte/_derived/fundorte.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Fundorte\" align=\"middle\" name=\"MSFPnav6\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav7n=MSFPpreload(\"../../Fachbegriffe/_derived/fachbegriffe.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav7h=MSFPpreload(\"../../Fachbegriffe/_derived/fachbegriffe.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../Fachbegriffe/fachbegriffe.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav7'].src=MSFPnav7h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav7'].src=MSFPnav7n.src\"><img src=\"../../Fachbegriffe/_derived/fachbegriffe.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Fachbegriffe\" align=\"middle\" name=\"MSFPnav7\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav8n=MSFPpreload(\"../../_derived/artenverzeichnis1.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav8h=MSFPpreload(\"../../_derived/artenverzeichnis1.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../artenverzeichnis1.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav8'].src=MSFPnav8h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav8'].src=MSFPnav8n.src\"><img src=\"../../_derived/artenverzeichnis1.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Artenverzeichnis\" align=\"middle\" name=\"MSFPnav8\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav9n=MSFPpreload(\"../../Hilfe/_derived/hilfe.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav9h=MSFPpreload(\"../../Hilfe/_derived/hilfe.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../Hilfe/hilfe.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav9'].src=MSFPnav9h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav9'].src=MSFPnav9n.src\"><img src=\"../../Hilfe/_derived/hilfe.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Hilfe\" align=\"middle\" name=\"MSFPnav9\"></a> <script language=\"JavaScript\"><!--\n" + "if(MSFPhover) { MSFPnav10n=MSFPpreload(\"../../_derived/saatblumen.htm_cmp_expeditn010_hbtn.gif\"); MSFPnav10h=MSFPpreload(\"../../_derived/saatblumen.htm_cmp_expeditn010_hbtn_a.gif\"); }\n" + "// --></script><a href=\"../../saatblumen.htm\" language=\"JavaScript\" onmouseover=\"if(MSFPhover) document['MSFPnav10'].src=MSFPnav10h.src\" onmouseout=\"if(MSFPhover) document['MSFPnav10'].src=MSFPnav10n.src\"><img src=\"../../_derived/saatblumen.htm_cmp_expeditn010_hbtn.gif\" width=\"140\" height=\"50\" border=\"0\" alt=\"Saatblumen\" align=\"middle\" name=\"MSFPnav10\"></a><!--webbot bot=\"Navigation\" endspan i-checksum=\"53857\" -->\n" + "</p>\n" + "<p align=\"center\"><b><font color=\"#FF0000\" size=\"6\">Familie:&nbsp;Süßgräser (Poaceae,\n" + "Graminaceae)</font></b></p>\n" + "<p align=\"center\"><b><font size=\"4\" color=\"#0000FF\">Zur Familie gehören 668\n" + "Gattungen mit ca. 1000 Arten.</font></b></p>\n" + "<p align=\"center\"><b><font color=\"#0000FF\" size=\"4\">Süßgräser sind gekennzeichnet durch einen runden, hohlen\n" + "rundlichen Halm.&nbsp;<br>\n" + "Viele <a href=\"getreide.htm\">Getreidearten</a> gehören zu den Süßgräsern.</font></b></p>\n" + "<p align=\"center\">\n" + "<font size=\"4\" color=\"#0000FF\"><b>&gt; <a href=\"aufbau_suessgras.htm\">Zum\n" + "Aufbau eines Süßgrases</a></b></font></p>\n" + "<!--mstheme--></font><table border=\"1\" width=\"100%\" bordercolordark=\"#660000\" bordercolorlight=\"#CC9966\">\n" + " <tr>\n" + " <td width=\"50%\" align=\"center\" valign=\"top\"><!--mstheme--><font face=\"Book Antiqua, Times New Roman, Times\"><b><font size=\"3\">&nbsp;Pflanze 1, 5 m -\n" + " 6 m groß<br>\n" + "Halm mindestens 1 cm&nbsp;dick<br>\n" + "&gt; <a href=\"gras_gross.htm\">Große Gräser</a></font></b>\n" + " <p><b><img border=\"0\" src=\"P1530625.JPG_a.jpg\" width=\"272\" height=\"581\"></b><!--mstheme--></font></td>\n" + " <td width=\"50%\" align=\"center\" valign=\"top\"><!--mstheme--><font face=\"Book Antiqua, Times New Roman, Times\"><b><font size=\"3\">\n" + "Pflanzen kleiner<br>\n" + "Halm dünner als 1 cm<br>\n" + "&gt; <a href=\"gras_klein.htm\">Kleine Gräser</a></font></b><!--mstheme--></font></td>\n" + " </tr>\n" + "</table><!--mstheme--><font face=\"Book Antiqua, Times New Roman, Times\">\n" + "<p align=\"left\"><b><font size=\"3\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b></p>\n" + "<p align=\"left\">&nbsp;</p>\n" + "<!--mstheme--></font></body>\n\n" + "</html>\n"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); 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