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

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?m)>[^<>]+<" Local $sString = "<html>" & @CRLF & _ "" & @CRLF & _ "<head>" & @CRLF & _ "<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">" & @CRLF & _ "<title>Suessgraeser</title>" & @CRLF & _ "<meta name="GENERATOR" content="Microsoft FrontPage 4.0">" & @CRLF & _ "<meta name="ProgId" content="FrontPage.Editor.Document">" & @CRLF & _ "<meta name="Microsoft Theme" content="expeditn 011, default">" & @CRLF & _ "<meta name="Microsoft Border" content="none, default">" & @CRLF & _ "</head>" & @CRLF & _ "" & @CRLF & _ "<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">" & @CRLF & _ "<p align="center"><!--webbot bot="Navigation" S-Type="top"" & @CRLF & _ "S-Orientation="horizontal" S-Rendering="graphics" B-Include-Home="TRUE"" & @CRLF & _ "B-Include-Up="TRUE" U-Page S-Target startspan --><script language="JavaScript"><!--" & @CRLF & _ "MSFPhover = " & @CRLF & _ " (((navigator.appName == "Netscape") && " & @CRLF & _ " (parseInt(navigator.appVersion) >= 3 )) || " & @CRLF & _ " ((navigator.appName == "Microsoft Internet Explorer") && " & @CRLF & _ " (parseInt(navigator.appVersion) >= 4 ))); " & @CRLF & _ "function MSFPpreload(img) " & @CRLF & _ "{" & @CRLF & _ " var a=new Image(); a.src=img; return a; " & @CRLF & _ "}" & @CRLF & _ "// --></script><script language="JavaScript"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav1n=MSFPpreload("../../_derived/home_cmp_expeditn010_hbtn.gif"); MSFPnav1h=MSFPpreload("../../_derived/home_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav2n=MSFPpreload("../../_derived/up_cmp_expeditn010_hbtn.gif"); MSFPnav2h=MSFPpreload("../../_derived/up_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav3n=MSFPpreload("../../Hauptgruppen/_derived/Systematik.htm_cmp_expeditn010_hbtn.gif"); MSFPnav3h=MSFPpreload("../../Hauptgruppen/_derived/Systematik.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav4n=MSFPpreload("../../Bestimmung/_derived/bestimmung.htm_cmp_expeditn010_hbtn.gif"); MSFPnav4h=MSFPpreload("../../Bestimmung/_derived/bestimmung.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav5n=MSFPpreload("../../_derived/bestimmungsschluessel.htm_cmp_expeditn010_hbtn.gif"); MSFPnav5h=MSFPpreload("../../_derived/bestimmungsschluessel.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav6n=MSFPpreload("../../Fundorte/_derived/fundorte.htm_cmp_expeditn010_hbtn.gif"); MSFPnav6h=MSFPpreload("../../Fundorte/_derived/fundorte.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav7n=MSFPpreload("../../Fachbegriffe/_derived/fachbegriffe.htm_cmp_expeditn010_hbtn.gif"); MSFPnav7h=MSFPpreload("../../Fachbegriffe/_derived/fachbegriffe.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav8n=MSFPpreload("../../_derived/artenverzeichnis1.htm_cmp_expeditn010_hbtn.gif"); MSFPnav8h=MSFPpreload("../../_derived/artenverzeichnis1.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav9n=MSFPpreload("../../Hilfe/_derived/hilfe.htm_cmp_expeditn010_hbtn.gif"); MSFPnav9h=MSFPpreload("../../Hilfe/_derived/hilfe.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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"><!--" & @CRLF & _ "if(MSFPhover) { MSFPnav10n=MSFPpreload("../../_derived/saatblumen.htm_cmp_expeditn010_hbtn.gif"); MSFPnav10h=MSFPpreload("../../_derived/saatblumen.htm_cmp_expeditn010_hbtn_a.gif"); }" & @CRLF & _ "// --></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" -->" & @CRLF & _ "</p>" & @CRLF & _ "<p align="center"><b><font color="#FF0000" size="6">Familie:&nbsp;Süßgräser (Poaceae," & @CRLF & _ "Graminaceae)</font></b></p>" & @CRLF & _ "<p align="center"><b><font size="4" color="#0000FF">Zur Familie gehören 668" & @CRLF & _ "Gattungen mit ca. 1000 Arten.</font></b></p>" & @CRLF & _ "<p align="center"><b><font color="#0000FF" size="4">Süßgräser sind gekennzeichnet durch einen runden, hohlen" & @CRLF & _ "rundlichen Halm.&nbsp;<br>" & @CRLF & _ "Viele <a href="getreide.htm">Getreidearten</a> gehören zu den Süßgräsern.</font></b></p>" & @CRLF & _ "<p align="center">" & @CRLF & _ "<font size="4" color="#0000FF"><b>&gt; <a href="aufbau_suessgras.htm">Zum" & @CRLF & _ "Aufbau eines Süßgrases</a></b></font></p>" & @CRLF & _ "<!--mstheme--></font><table border="1" width="100%" bordercolordark="#660000" bordercolorlight="#CC9966">" & @CRLF & _ " <tr>" & @CRLF & _ " <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 -" & @CRLF & _ " 6 m groß<br>" & @CRLF & _ "Halm mindestens 1 cm&nbsp;dick<br>" & @CRLF & _ "&gt; <a href="gras_gross.htm">Große Gräser</a></font></b>" & @CRLF & _ " <p><b><img border="0" src="P1530625.JPG_a.jpg" width="272" height="581"></b><!--mstheme--></font></td>" & @CRLF & _ " <td width="50%" align="center" valign="top"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times"><b><font size="3">" & @CRLF & _ "Pflanzen kleiner<br>" & @CRLF & _ "Halm dünner als 1 cm<br>" & @CRLF & _ "&gt; <a href="gras_klein.htm">Kleine Gräser</a></font></b><!--mstheme--></font></td>" & @CRLF & _ " </tr>" & @CRLF & _ "</table><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">" & @CRLF & _ "<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>" & @CRLF & _ "<p align="left">&nbsp;</p>" & @CRLF & _ "<!--mstheme--></font></body>" & @CRLF & _ "" & @CRLF & _ "</html>" & @CRLF & _ "" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm