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

$re = '/GameID=(\d+)">[^>]+>\s+(?<first_team>[^>]+)?\s+vs\s+[^>]+>\s+(?<second_team>Brisbane)\s+(?!upcoming)</m'; $str = ' <!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>'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches);

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 PHP, please visit: http://php.net/manual/en/ref.pcre.php