Regular Expressions 101

Save & Share

  • Regex Version: ver. 5
  • 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

/
/
mg

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"GameID=(\d+)"">[^>]+>\s+(?<first_team>[^>]+)?\s+vs\s+[^>]+>\s+(?<second_team>Brisbane)\s+(?!upcoming)<"; string input = @" <!DOCTYPE html> <html lang=""en""> <head> <meta charset=""utf-8""> <meta http-equiv=""X-UA-Compatible"" content=""IE=edge""> <meta name=""mobile-web-app-capable"" content=""yes""> <link rel=""icon"" sizes=""196x196"" href=""http://dtlive.com.au/afl/images/dtliveicon.png""> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> <meta name=""description"" content=""dtlive.com.au AFL Fantasy and Real Dream Team website. Live scores, in depth stats in a clean easy to use format""><title>DTLive.com.au - AFL Fantasy and Real Dream Team website. Live scores, in depth stats in a clean easy to use format</title> <script src=""https://code.jquery.com/jquery-1.10.2.min.js""></script> <script src=""http://dtlive.com.au/afl/embedapi-master/src/ustream-embedapi.js""></script> <link href=""//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"" rel=""stylesheet""> <!-- Bootstrap --> <link rel=""stylesheet"" href=""//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css""> <script src=""//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js""></script> <!-- Custom styles for this template --> <link href=""http://dtlive.com.au/afl/starter-template2.css"" rel=""stylesheet""> <!--[if lt IE 9]><script src=""../../docs-assets/js/ie8-responsive-file-warning.js""></script><![endif]--> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src=""https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js""></script> <script src=""https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js""></script> <![endif]--> <script> (function($){ $(document).ready(function(){ $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) { event.preventDefault(); event.stopPropagation(); $(this).parent().siblings().removeClass('open'); $(this).parent().toggleClass('open'); }); }); })(jQuery); </script> <style> .marginBottom-0 {margin-bottom:0;} .dropdown-submenu{position:relative;} .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} .dropdown-submenu>a:after{display:block;content:"" "";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;} .dropdown-submenu:hover>a:after{border-left-color:#555;} .dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} .dropdown-nowidepad { width: 48px !important; padding-right: 0px !important; padding-left: 0px !important; } </style> </head> <body> <nav class=""navbar navbar-inverse navbar-fixed-top"" role=""navigation""> <div class=""container""><div class=""col-xs-12""> <div class=""navbar-header""> <button type=""button"" class=""navbar-toggle"" data-toggle=""collapse"" data-target=""#navbar-collapse-1""> <span class=""sr-only"">Toggle navigation</span> <span class=""icon-bar""></span> <span class=""icon-bar""></span> <span class=""icon-bar""></span> </button> <a class=""navbar-brand"" href=""http://www.dtlive.com.au"" style=""padding: 15px 5px 15px 5px !important"">DTLive</a> </div> <div class=""collapse navbar-collapse"" id=""navbar-collapse-1""> <ul class=""nav navbar-nav""> <li><a href=""http://dtlive.com.au/premium/"" style=""padding: 0px 5px 0px 5px !important;""><img src=""http://www.dtlive.com.au/images/premium.png""></a></li> <li class=""dropdown""><a href=""http://www.dtlive.com.au/afl/"" class=""dropdown-toggle dropdown-nowidepad"" data-toggle=""dropdown""><img src=""http://www.dtlive.com.au/images/aflnav_24.png""> <b class=""caret""></b></a> <ul class=""dropdown-menu""> <li> <form class=""navbar-form navbar-left"" role=""search"" action=""http://dtlive.com.au/afl/playersearch.php""> <div class=""input-group""> <input type=""text"" class=""form-control"" placeholder=""Player Search"" name=""SearchString"" id=""srch-term""> <div class=""input-group-btn""><button class=""btn btn-default"" type=""submit""><i class=""glyphicon glyphicon-search""></i></button></div> </div> </form> </li> <li><a href=""http://www.dtlive.com.au/afl/"">AFL Home</a></li> <li><a href=""http://dtlive.com.au/afl/dataview.php"">Data View</a></li> <li><a href=""http://www.dtlive.com.au/afl/drawingboard/"">Drawing Board</a></li> <li><a href=""http://dtlive.com.au/afl/projector.php"">Projector</a></li> <li><a href=""http://dtlive.com.au/afl/teamicons.php"">Team Icons</a></li> <li><a href=""http://dtlive.com.au/afl/teamstats.php"">Team Stats</a></li> <li><a href=""http://dtlive.com.au/afl/heatmaps.php"">Heat Maps</a></li> <li><a href=""http://dtlive.com.au/afl/calvin.php"">Calvins Captains</a></li> <li><a href=""http://dtlive.com.au/afl/myplayers.php"">My Players</a></li> <li class=""divider""></li> <li class=""dropdown dropdown-submenu""><a href=""#"" class=""dropdown-toggle"" data-toggle=""dropdown""><img src=""http://dtlive.com.au/images/dttalknav.jpg""> DT Talk</a> <ul class=""dropdown-menu""><li><a href=""http://dreamteamtalk.com/?p=49141"" target=""_blank"">Moneyball's $5000 Sunday Funday is upon us!</a></li><li><a href=""http://dreamteamtalk.com/?p=49147"" target=""_blank"">Handball happy - Rd 2 Fantasy Review</a></li><li><a href=""http://dreamteamtalk.com/?p=49152"" target=""_blank"">My Team 2017 - Round 3</a></li><li><a href=""http://dreamteamtalk.com/?p=49156"" target=""_blank"">The Weekend Wash-Up - Round 2</a></li><li><a href=""http://dreamteamtalk.com/?p=49161"" target=""_blank"">Fix &lsquo;er up - Ep. 126</a></li></ul> </li> <li class=""dropdown dropdown-submenu""><a href=""#"" class=""dropdown-toggle"" data-toggle=""dropdown""><img src=""http://dtlive.com.au/images/coachespanel.jpg""> Coaches Panel</a> <ul class=""dropdown-menu""><li><a href=""http://coachespanel.com.au/?p=9912"" target=""_blank"">Makers and Breakers - Round 2</a></li></ul> </li> </ul> </li> <li class=""dropdown""><a href=""http://www.dtlive.com.au/bbl/"" class=""dropdown-toggle dropdown-nowidepad"" data-toggle=""dropdown""><img src=""http://www.dtlive.com.au/images/bblnav_24.png""> <b class=""caret""></b></a> <ul class=""dropdown-menu""> <li><a href=""http://www.dtlive.com.au/bbl/"">BBL Home</a></li> </ul> </li> <li class=""dropdown""><a href=""http://www.dtlive.com.au/nbl/"" class=""dropdown-toggle dropdown-nowidepad"" data-toggle=""dropdown""><img src=""http://www.dtlive.com.au/images/nblnav_24.png""> <b class=""caret""></b></a> <ul class=""dropdown-menu""> <li><a href=""http://www.dtlive.com.au/nbl/"">NBL Home</a></li> <li><a href=""http://dtlive.com.au/nbl/myround.php"">My Team</a></li> <li><a href=""http://dtlive.com.au/nbl/stats.php"">Stats</a></li> </ul> </li> </ul> <ul class=""nav navbar-nav navbar-right""> <li><a href=""http://dtlive.com.au/register.php"">Sign Up</a></li> <li class=""dropdown""> <a href=""http://dtlive.com.au/login.php"" class=""dropdown-toggle"" data-toggle=""dropdown"">Sign in <b class=""caret""></b></a> <ul class=""dropdown-menu"" style=""padding: 15px;min-width: 250px;""> <li> <div class=""row""> <div class=""col-md-12""> <form class=""form"" role=""form"" method=""post"" action=""/afl/viewgames.php"" accept-charset=""UTF-8"" id=""login-nav""> <div class=""form-group""><input type=""text"" class=""form-control"" name=""user"" id=""user"" placeholder=""Username"" required></div> <div class=""form-group""><input type=""password"" class=""form-control"" name=""pass"" id=""pass"" placeholder=""Password"" required></div> <div class=""form-group""><input type=""submit"" name=""sublogin"" class=""btn btn-success btn-block"" value=""Login""></div> </form> <hr><a href=""https://www.facebook.com/dialog/oauth?client_id=695932313759732&redirect_uri=http%3A%2F%2Fdtlive.com.au%2Fafl%2Fviewgames.php%3FDoFacebookLogin%3DYes%26&state=96849fa138d10e32c196eb1cd2d2ed62&sdk=php-sdk-3.2.3"" class=""btn btn-primary btn-block"" style=""color: #FFF !important;"">Login using Facebook</a> <hr><a href=""../forgotpass.php"" class=""btn btn-warning btn-block"">Forgotten Password?</a> </div> </div> </li> </ul> </li> </ul> </div></div> </div><!-- /.navbar-collapse --> </nav> <div class=""container""> <div class=""row"">&nbsp;</div><div class=""row""><h2>2017 Premiership Season</h2></div><div class=""row""><h4>Round 3</h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1153""><img src=""images/SYD.png""> Sydney vs <img src=""images/COL.png""> Collingwood (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1154""><img src=""images/NME.png""> North Melbourne vs <img src=""images/GWS.png""> GWS Giants (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1155""><img src=""images/RIC.png""> Richmond vs <img src=""images/WCE.png""> West Coast (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1156""><img src=""images/GEE.png""> Geelong vs <img src=""images/MEL.png""> Melbourne (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1158""><img src=""images/FRE.png""> Fremantle vs <img src=""images/WBD.png""> Western Bulldogs (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1157""><img src=""images/PTA.png""> Port Adelaide vs <img src=""images/ADE.png""> Adelaide (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1159""><img src=""images/STK.png""> St Kilda vs <img src=""images/BRL.png""> Brisbane (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1160""><img src=""images/CAR.png""> Carlton vs <img src=""images/ESS.png""> Essendon (upcoming)</a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1161""><img src=""images/GCS.png""> Gold Coast vs <img src=""images/HAW.png""> Hawthorn (upcoming)</a></h4></div><div class=""row""><h4>Round 2</h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1144""><img src=""images/RIC.png""> Richmond vs <img src=""images/COL.png""> Collingwood <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1145""><img src=""images/WBD.png""> Western Bulldogs vs <img src=""images/SYD.png""> Sydney <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1146""><img src=""images/HAW.png""> Hawthorn vs <img src=""images/ADE.png""> Adelaide <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1147""><img src=""images/GWS.png""> GWS Giants vs <img src=""images/GCS.png""> Gold Coast <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1148""><img src=""images/BRL.png""> Brisbane vs <img src=""images/ESS.png""> Essendon <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1149""><img src=""images/WCE.png""> West Coast vs <img src=""images/STK.png""> St Kilda <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1150""><img src=""images/GEE.png""> Geelong vs <img src=""images/NME.png""> North Melbourne <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1151""><img src=""images/MEL.png""> Melbourne vs <img src=""images/CAR.png""> Carlton <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1152""><img src=""images/PTA.png""> Port Adelaide vs <img src=""images/FRE.png""> Fremantle <small>(completed)</small></a></h4></div><div class=""row""><h4>Round 1</h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1135""><img src=""images/CAR.png""> Carlton vs <img src=""images/RIC.png""> Richmond <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1136""><img src=""images/COL.png""> Collingwood vs <img src=""images/WBD.png""> Western Bulldogs <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1138""><img src=""images/SYD.png""> Sydney vs <img src=""images/PTA.png""> Port Adelaide <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1137""><img src=""images/STK.png""> St Kilda vs <img src=""images/MEL.png""> Melbourne <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1140""><img src=""images/ESS.png""> Essendon vs <img src=""images/HAW.png""> Hawthorn <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1139""><img src=""images/GCS.png""> Gold Coast vs <img src=""images/BRL.png""> Brisbane <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1141""><img src=""images/NME.png""> North Melbourne vs <img src=""images/WCE.png""> West Coast <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1142""><img src=""images/ADE.png""> Adelaide vs <img src=""images/GWS.png""> GWS Giants <small>(completed)</small></a></h4></div><div class=""row""><h4><a href=""livescores.php?GameID=1143""><img src=""images/FRE.png""> Fremantle vs <img src=""images/GEE.png""> Geelong <small>(completed)</small></a></h4></div><br><br> </body> </html>"; RegexOptions options = RegexOptions.Multiline; foreach (Match m in Regex.Matches(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