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

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"<body[^>]+?>\s+(?<table>[\w\W]+)<\/body>"; string input = @"<html> <head> <meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1""> <META NAME=""Identifier-URL"" CONTENT=""http://www.hockey.de/""> <META NAME=""keywords"" CONTENT=""Hockey""> <META NAME=""copyright"" CONTENT=""&copy; hokey.de GbR""> <title>hockey.de: hoc@key Ergebnisdienst</title> <link REL=""STYLESHEET"" HREF=""/VVI-web/Include/css.asp?lokal=WHV"" type=""text/css""> <script src=""/VVI-web/Include/DE-java.js"" type=""text/javascript""></script> </head> <body bgcolor=""#FFFFFF"" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=806> <!== TABELLE - 2 SPALTEN ================================================> <tr><td><table border=0 cellspacing=0 cellpadding=0 width=806> <!-- SPALTEN BREITE FIXIEREN --------------------------------------------> <tr> <td><img SRC=""/VVI-web/Include/dummy.gif"" height=1 width=600></td> <td><img SRC=""/VVI-web/Include/dummy.gif"" height=1 width=6></td> <td><img SRC=""/VVI-web/Include/dummy.gif"" height=1 width=200></td> </tr> <!-- HAUPT SPALTE -------------------------------------------------------> <tr><td valign=TOP><table border=0 cellspacing=0 cellpadding=0 width=600> <!-- Seiten Titel --> <tr height=62><td class=bghell> <p style=""padding-left:4px;margin-bottom:16px""><b>Wer spielt wo?</b></p> <p class=TTitel style=""text-align:CENTER"">hoc@key Ergebnisdienst</p> <tr><td> <!-- Club, Men� --> <tr><td align=CENTER><p class=Ueber>VfB H�ls</p></td></tr> <tr><td align=CENTER><b>| <a href=""?lokal=WHV&bereich=WHV&saison=&club=361&status=1&design=&tza=0&cza=1&erw=,WHV-VL1D-D,WHV-VL1D-H,WHV-VL2WE-H,WHV-VL4WE-H&jug=,WHV-JV-WJA,WHV-JV-MA,WHV-JV-MB,WHV-JV-MJB,WHV-JV-KB,WHV-WE-KC-M,WHV-WE-KD-M,WHV-WE-MINIS"">Alle Ligen</a> | <b class=rot>Aktuelle Woche</b> | <a href=""?lokal=WHV&bereich=WHV&saison=&club=361&status=3&design=&tza=0&cza=1&erw=,WHV-VL1D-D,WHV-VL1D-H,WHV-VL2WE-H,WHV-VL4WE-H&jug=,WHV-JV-WJA,WHV-JV-MA,WHV-JV-MB,WHV-JV-MJB,WHV-JV-KB,WHV-WE-KC-M,WHV-WE-KD-M,WHV-WE-MINIS"">Rest-Saison</a> | <a href=""?lokal=WHV&bereich=WHV&saison=&club=361&status=4&design=&tza=0&cza=1&erw=,WHV-VL1D-D,WHV-VL1D-H,WHV-VL2WE-H,WHV-VL4WE-H&jug=,WHV-JV-WJA,WHV-JV-MA,WHV-JV-MB,WHV-JV-MJB,WHV-JV-KB,WHV-WE-KC-M,WHV-WE-KD-M,WHV-WE-MINIS"">Gesamte Saison</a> | </b></td></tr> <tr><td><img src=""/VVI-web/include/dummy.gif"" width=1 height=15></td></tr> <!-- Spielplan --------------------------------------------------------> <tr><td><table border=0 width=600 cellspacing=0 cellpadding=0> <tr> <td><img src=""/VVI-web/include/dummy.gif"" width=180 height=1></td> <td><img src=""/VVI-web/include/dummy.gif"" width=50 height=1></td> <td><img src=""/VVI-web/include/dummy.gif"" width=120 height=1></td> <td><img src=""/VVI-web/include/dummy.gif"" width=15 height=1></td> <td><img src=""/VVI-web/include/dummy.gif"" width=130 height=1></td> <td><img src=""/VVI-web/include/dummy.gif"" width=40 height=1></td> <td><img src=""/VVI-web/include/dummy.gif"" width=65 height=1></td> </tr> <tr height=25> <td valign=BOTTOM colspan=5><b class=rot>Samstag, 2. M�rz 2024</b></td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>12:30</td> <td valign=TOP class=klein>HC GMH�tte</td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-WE-KC-M&club=361'>Liga MU10</a></td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>02</td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>14:00</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-WE-KC-M&club=361'>Liga MU10</a></td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein>Buerscher HC</td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>05</td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>15:00</td> <td valign=TOP class=klein>Bielefelder TG</td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-WE-KC-M&club=361'>Liga MU10</a></td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>07</td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>16:00</td> <td valign=TOP class=klein>HSC 05 Osnabr�ck</td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-WE-KC-M&club=361'>Liga MU10</a></td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>09</td> </tr> <tr height=25> <td valign=BOTTOM colspan=5><b class=rot>Sonntag, 3. M�rz 2024</b></td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>10:00</td> <td valign=TOP class=klein>Club Raffelberg 4</td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-VL1D-D&club=361'>1.VL Damen</a></td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>29</td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>12:00</td> <td valign=TOP class=klein>THC M�nster 3</td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-VL2WE-H&club=361'>2.VL Herren</a></td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>29</td> </tr> <tr> <td valign=TOP class=klein></td> <td valign=TOP class=klein>16:00</td> <td valign=TOP class=klein>THC M�nster 2</td> <td valign=TOP class=klein>-</td> <td valign=TOP class=klein><a href='/VVI-web/Ergebnisdienst/Ergebnisdienst.asp?lokal=WHV&saison=HALLE23&liga=WHV-VL1D-H&club=361'>1.VL Herren</a></td> <td valign=TOP class=klein>_:_</td> <td valign=TOP class=klein align=RIGHT>29</td> </tr> </table></td></tr> <!---------------------------------------------------------------------> </table></td> <!-- ZWISCHENRAUM -------------------------------------------------------> <td>&nbsp;</td> <!-- RECHTE SPALTE ------------------------------------------------------> <td valign=TOP><table border=0 cellspacing=0 cellpadding=0 width=200> <!-- Logo --> <tr><td><table border=0 cellspacing=0 cellpadding=0 width=200> <tr height=62> <td align=LEFT><img src=""/VVI-web/Ergebnisdienst/Bilder/HED-Admin.gif"" width=64 height=62></td> <td align=CENTER><img src=""/VVI-web/Ergebnisdienst/Bilder/HED-Ergebnis.gif"" width=64 height=62></td> <td align=RIGHT><img src=""/VVI-web/Ergebnisdienst/Bilder/HED-Spielplan.gif"" width=64 height=62></td> </tr> </table></td></tr> <tr><td><img src=""/VVI-web/Include/dummy.gif"" width=1 height=6></td></tr> <!-- Men� --> <tr><td class=Oberdunkel>Men�</td></tr> <tr><td><table border=0 cellspacing=0 cellpadding=4 width=200> <tr><td class=bgdunkel> <a href=""/VVI-web/Ergebnisdienst/willkommen.asp?lokal=WHV&bereich=WHV""><b>&raquo; Info zum ...</b></a><br> <b class=rot>&raquo; Wer spielt wo?</b><br> <a href=""/VVI-web/Ergebnisdienst/archiv.asp?lokal=WHV&bereich=WHV""><b>&raquo; Saison Archiv</b></a><br> <a href=""/VVI-web/Ergebnisdienst/schnittstellen.asp?lokal=WHV&bereich=WHV""><b>&raquo; Schnittstellen</b></a><br> </td></tr> </table></td></tr> <tr><td><img src=""/VVI-web/Include/dummy.gif"" width=1 height=6></td></tr> <!-- Kontakt --> <tr><td class=Oberdunkel>Kontakt</td></tr> <tr><td><table border=0 cellspacing=0 cellpadding=4 width=200> <tr height=40><td class=bgdunkel> <a href=""mailto:Webteam@hockey.de?subject=hoc@key Ergebnisdienst""><b><img src=""/VVI-web/Include/Mail.gif"" width=15 height=10 border=0 vspace=0 hspace=5 alt=""Mail senden"">Webteam hockey.de</b></a> </td></tr> </table></td></tr> <tr><td><img src=""/VVI-web/Include/dummy.gif"" width=1 height=6></td></tr> <!-- Apps f�r den Ergebnisdienst --> <tr><td> <table border=0 cellspacing=0 cellpadding=0 width=200> <tr><td class=OberDunkel>Apps f�r den Ergebnisdienst</td></tr> <tr><td bgcolor=#FFFFFF><img src=""/VVI-web/Include/dummy.gif"" width=1 height=4></td></tr> <tr><td align=CENTER class=bghell><a href=""/VVI-web/Nachrichten/Bericht-Einzel.asp?lokal=WHV&ID=3327"" title=""Apps f�r den hoc@key Ergebnsidienst""><img SRC=""/VVI-Web/Ergebnisdienst/Bilder/ErgebnisdienstApps2.jpg"" border=0 width=200 height=200></a></td></tr> </table> </td></tr> </table></td></tr> <!-- Fuss --> <tr><td colspan=3> <table border=0 cellspacing=0 cellpadding=0 width=806> <tr><td colspan=2 style=""font-size:12px"">&nbsp;</td></tr> <tr><td colspan=2><hr class=schwarz></td></tr> <tr height=15> <td align=LEFT style=""font-size:11px; color:#666666;""><a href=""/VVI-web/Impressum.asp?lokal=WHV"">&raquo; Impressum</a> &nbsp; <a href=""/VVI-web/datenschutz.asp?lokal=WHV"">&raquo; Datenschutz</a></td> <td align=RIGHT style=""font-size:11px; color:#666666;"">&copy; 2024 &#149; <a href=""/VVI-web/Impressum.asp?lokal=WHV"">hockey.de</a></td> </tr> <tr><td colspan=2>&nbsp;</td></tr> </table> </td></tr> </TABLE> </body> </html> "; RegexOptions options = RegexOptions.IgnoreCase; Match m = Regex.Match(input, pattern, options); Console.WriteLine("'{0}' found at index {1}", m.Value, m.Index); } }

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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx