Regular Expressions 101

Save & Share

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

/
/
g

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"<meta\s*name=""(.*)"".*content=""(.*)""\s*\/>"; string input = @" <!DOCTYPE html> <html lang=""en""> <head> <meta name=""geo.placename"" content=""11-12 BAYPORT PL, QUEENS, NY"" /> <meta name=""geo.position"" content=""40.6046019;-73.7494738"" /> <meta name=""geo.region"" content=""US;NY"" /> <meta name=""ICBM"" content=""40.6046019, -73.7494738"" /> <style type='text/css'> h2.title { font-size: 130%; background: #eee; margin:0.2em 0; padding:0.5em; border: 3px solid #dcdcdc; } .crime-info { font-size: 130%; background: #eee; margin:0.2em 0; padding:0.5em; border: 2px solid #dcdcdc; } .alerts ul { padding-left: 1em; clear: both; margin: 20px 0; } .alerts li { float: left; width: 45%; margin: 0; padding: 0 0 0 0.4em;; } div.google_ads_sidebar { margin-bottom: 10px; width: 210px !important; text-align: center; padding: 5px !important; } </style> <script type='text/javascript'> //<![CDATA[ try { if (screen.width <= 420) { window.location = ""//spotcrime.com/mobile/crime/?95215796-5c02086a20e817cf1bb5a978a2c10720""; } } catch(err) { } //]]> </script> <meta http-equiv=""X-UA-Compatible"" content=""IE=edge"" /> <meta name=""viewport"" content='width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=false'/> <title>Theft - 11-12 BAYPORT PL, QUEENS, NY</title> <meta name=""description"" content=""Theft - 11-12 BAYPORT PL, QUEENS, NY. Grand Larceny Auto. Of Auto""/> <meta name=""keywords"" content=""Theft,11-12 BAYPORT PL, QUEENS, NY,Queens, crime map, crime in, crimes, neighborhood crime, crime report, neighborhood crime watch, crime analysis, crime analytics, crime analysis tools, home security""/> <!-- meta name=""verify-v1"" content=""3e644NZNzIcRb+ZulOwM2nkI/b49EltodgfuV4+Vxk4=""--> <meta name=""verify-v1"" content=""KDp+ufgA8DHe89GWmW1UZHRb1nXg9qu6YnQFofzYwgA="" /> <link rel=""shortcut icon"" href=""//s3.amazonaws.com/s3.spotcrime.com/media/style/favicon.ico"" type=""image/x-icon"" /> <link rel=""icon"" href=""//s3.amazonaws.com/s3.spotcrime.com/media/style/favicon.ico"" type=""image/x-icon"" /> <!-- Latest compiled and minified CSS --> <link rel=""stylesheet"" href=""https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css""> <!-- Optional theme --> <!-- link rel=""stylesheet"" href=""https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"" --> <!-- Custom styles for this template --> <link href=""//s3.amazonaws.com/m.spotcrime.com/mobile/media/v1/css/mobile.css"" rel=""stylesheet""> <link href=""//s3.amazonaws.com/s3.spotcrime.com/desktop/media/v1/desktop.css"" rel=""stylesheet""> <style type=""text/css""> /* overwrite mobile css */ .main-content { text-align: left; } .main-content-column { margin-top: 2em; } </style> <script async src=""//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js""></script> </head> <body> <nav class=""navbar navbar-inverse navbar-fixed-top spotcrime-header""> <div class=""container""> <div class=""navbar-header""> <button type=""button"" class=""navbar-toggle collapsed"" data-toggle=""collapse"" data-target=""#navbar"" aria-expanded=""false"" aria-controls=""navbar""> <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 spotcrime-navbar-brand"" href=""/"">Spotcrime</a> </div> <div id=""navbar"" class=""collapse navbar-collapse""> <ul class=""nav navbar-nav navbar-spotcrime""> <li class=""dropdown""> <a href=""#"" class=""dropdown-toggle"" data-toggle=""dropdown"" role=""button"" aria-expanded=""false"">Browse By State <span class=""caret""></span></a> <ul id=""states-list-menu"" class=""dropdown-menu"" role=""menu"" style=""z-index: 1000;""> <li><a href=""/al"" >Alabama</a></li> <li><a href=""/ak"" >Alaska</a></li> <li><a href=""/az"" >Arizona</a></li> <li><a href=""/ar"" >Arkansas</a></li> <li><a href=""/ca"" >California</a></li> <li><a href=""/co"" >Colorado</a></li> <li><a href=""/ct"" >Connecticut</a></li> <li><a href=""/de"" >Delaware</a></li> <li><a href=""/dc"" >District of Columbia</a></li> <li><a href=""/fl"" >Florida</a></li> <li><a href=""/ga"" >Georgia</a></li> <li><a href=""/hi"" >Hawaii</a></li> <li><a href=""/id"" >Idaho</a></li> <li><a href=""/il"" >Illinois</a></li> <li><a href=""/in"" >Indiana</a></li> <li><a href=""/ia"" >Iowa</a></li> <li><a href=""/ks"" >Kansas</a></li> <li><a href=""/ky"" >Kentucky</a></li> <li><a href=""/la"" >Louisiana</a></li> <li><a href=""/me"" >Maine</a></li> <li><a href=""/md"" >Maryland</a></li> <li><a href=""/ma"" >Massachusetts</a></li> <li><a href=""/mi"" >Michigan</a></li> <li><a href=""/mn"" >Minnesota</a></li> <li><a href=""/ms"" >Mississippi</a></li> <li><a href=""/mo"" >Missouri</a></li> <li><a href=""/mt"" >Montana</a></li> <li><a href=""/ne"" >Nebraska</a></li> <li><a href=""/nv"" >Nevada</a></li> <li><a href=""/nh"" >New Hampshire</a></li> <li><a href=""/nj"" >New Jersey</a></li> <li><a href=""/nm"" >New Mexico</a></li> <li><a href=""/ny"" >New York</a></li> <li><a href=""/nc"" >North Carolina</a></li> <li><a href=""/nd"" >North Dakota</a></li> <li><a href=""/oh"" >Ohio</a></li> <li><a href=""/ok"" >Oklahoma</a></li> <li><a href=""/or"" >Oregon</a></li> <li><a href=""/pa"" >Pennsylvania</a></li> <li><a href=""/ri"" >Rhode Island</a></li> <li><a href=""/sc"" >South Carolina</a></li> <li><a href=""/sd"" >South Dakota</a></li> <li><a href=""/tn"" >Tennessee</a></li> <li><a href=""/tx"" >Texas</a></li> <li><a href=""/ut"" >Utah</a></li> <li><a href=""/vt"" >Vermont</a></li> <li><a href=""/vi"" >Virgin Islands</a></li> <li><a href=""/va"" >Virginia</a></li> <li><a href=""/wa"" >Washington</a></li> <li><a href=""/wv"" >West Virginia</a></li> <li><a href=""/wi"" >Wisconsin</a></li> <li><a href=""/wy"" >Wyoming</a></li> <li><a href=""/pr"" >Puerto Rico</a></li> <li><a href=""/vi"" >Virgin Islands</a></li> </ul> </li> <li><a href=""http://crimetip.us/"" target=""_blank"">Submit a Crime Tip</a></li> <li class=""auth-hidden""><a href=""/login.php"">Sign In</a></li> <li class=""auth-hidden""><a href=""#"" data-toggle=""modal"" data-target=""#SignupModal"">Sign Up</a></li> </ul> </div><!--/.nav-collapse --> </div> <div class=""container search-form-container""> <div class=""col-md-8 col-md-offset-2""> <form class=""navbar-form crime-search-secondary"" action='/' method=""get"" onsubmit=""return false;""> <div class=""form-group"" style=""display:inline;""> <div class=""input-group"" style=""display:table;""> <span class=""input-group-addon"" style=""width:1%;""><span class=""glyphicon glyphicon-search search-placeholder""></span></span> <input class=""form-control"" name=""crime-address-secondary"" placeholder=""Address"" type=""text""> <span class=""input-group-addon search-placeholder"" style=""width:1%;""><button type=""submit"" class=""btn btn-link"" style=""padding: 0; margin:0; border: 0;"">search crimes</button></span> </div> </div> </form> </div> </div> <!-- search-form-container --> </nav> <div class=""container main-container"" style=""padding-bottom: 150px; margin-top: 2em; ""> <div class=""main-content""> <div class=""row""> <div class=""col-sm-8 col-md-10""> <!-- 2015 new format details pages top --> <ins class=""adsbygoogle"" style=""display:block; height:60px;"" data-ad-client=""ca-pub-7922093619579857"" data-ad-slot=""7369226943"" data-ad-format=""horizontal""></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class=""main-content-column""> <div class=""crime-info""> <div class=""row""> <div class=""col-md-3 text-left""> <h1>Theft</h1> <p>07/16/2017 02:00 PM</p> </div> <div class=""col-md-9 text-left""> <p style=""border-left: solid 5px #DCDCDC; margin-left: 5px; padding-left: 10px;""> 11-12 BAYPORT PL, QUEENS, NY<br /><em>Grand Larceny Auto. Of Auto </em><br /><a class=""btn btn-default"" title=""View Source"" target=""_blank"" href=""https://compstat.nypdonline.org/2e5c3f4b-85c1-4635-83c6-22b27fe7c75c/view/89"">View Source</a> </p> </div> <!-- col-md-8 --> </div> <!-- row --> </div> <!-- crime-info --> <div class=""crime_details""> <div class=""row""> <div class=""col-md-12""> <div id=""map_canvas"" class=""col-xs-8 text-center"" style=""background-color: #E9E5DC; width: 100%; height: 300px; "">Map is loading...</div> </div> </div> <div style=""margin-top: 0.1em; margin-bottom: 0.1em;""> <!-- 2015 new format test bottom responsive --> <ins class=""adsbygoogle"" style=""display:block; height:60px;"" data-ad-client=""ca-pub-7922093619579857"" data-ad-slot=""5232383340"" data-ad-format=""horizontal""></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class=""row""> <div class=""col-md-12""> <div id=""streetview_canvas"" style=""width: 100%; height: 300px""></div> <div class=""disclaimer"" style=""color: #000000; font-size: 100%; background-color: #fffa73;""> Google Streetview Disclaimer: This is a Google Maps Street View of the approximate area where the crime occurred. It is not necessarily the exact address view of the crime. </div> </div> </div> <div style=""padding: 15px;""> <div class=""row"" style=""border-bottom: 2px solid #FFF;""> <div class=""col-md-12"" itemscope itemtype=""http://schema.org/Place"" style=""background: #EEEEEE;""> <h1 itemprop=""name"">Theft - 11-12 BAYPORT PL, QUEENS, NY</h1> <p itemprop=""description"">Grand Larceny Auto. Of Auto</p> <p itemprop=""address"" itemscope itemtype=""http://schema.org/PostalAddress""> <span itemprop=""streetAddress"">11-12 BAYPORT PL</span>, <span itemprop=""addressLocality"">Queens</span>, <span itemprop=""addressRegion"">NY</span> <span itemprop=""postalCode""></span> <span itemprop=""addressCountry"">US</span> </p> <span itemprop=""geo"" itemscope itemtype=""http://schema.org/GeoCoordinates""> <meta itemprop=""latitude"" content=""40.6046019"" /> <meta itemprop=""longitude"" content=""-73.7494738"" /> </span> </div> </div> <!-- row --> </div> </div> <div style=""clear: both;""></div> </div> <!-- main-content-column --> </div> <!-- col-md-10 --> <div class=""col-sm-4 col-sm-4 col-md-2 text-left;""> <div class=""row"" style=""margin-bottom: 0.3em;""> <div class=""col-md-12""> <a class=""btn btn-primary"" role=""button"" style=""width: 100%;"" href=""mailto:?subject=Theft%20-%2011-12%20BAYPORT%20PL%2C%20QUEENS%2C%20NY&body=I%20want%20to%20share%20this%20crime%20with%20you%3A%0a%0ahttp://spotcrime.com/crime/95215796-5c02086a20e817cf1bb5a978a2c10720%0aGrand%20Larceny%20Auto.%20Of%20Auto"">Email to a friend</a> <br /> </div> </div> <div class=""row"" style=""margin-bottom: 0.3em;""> <div class=""col-md-12""> <a href=""http://crimetip.us"" target=""_blank"" title=""Submit a Crime Tip"" class=""btn btn-danger"" role=""button"" style=""width: 100%;"">Submit a Crime Tip</a> </div> </div> <!-- 2015 new format detail pages skyscraper --> <ins class=""adsbygoogle"" style=""display:inline-block;width:300px;height:600px"" data-ad-client=""ca-pub-7922093619579857"" data-ad-slot=""1322693346""></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <!-- col-md-2 --> </div> <!-- row --> </div> <!-- /.main-content --> </div><!-- /.container --> <nav class=""navbar navbar-default navbar-fixed-bottom""> <div class=""container""> <div class=""navbar-header""> <button type=""button"" class=""navbar-toggle collapsed"" data-toggle=""collapse"" data-target=""#navbar-bottom"" aria-expanded=""false"" aria-controls=""navbar""> <span class=""sr-only"">Toggle navigation</span> <span class=""icon-bar""></span> <span class=""icon-bar""></span> <span class=""icon-bar""></span> </button> </div> <div id=""navbar-bottom"" class=""collapse navbar-collapse""> <ul class=""nav navbar-nav""> <li><a href=""/help.php"">Help</a></li> <li><a href=""/contact.php"">Contact</a></li> <li><a target=""_blank"" href=""http://spotcrime.blogspot.com/"">Blog</a></li> <li><a href=""/about.php"">About Us</a></li> <li><a href=""/tos/"">Terms of Use</a></li> <li><a href=""/privacy/"">Privacy Policy</a></li> <li><a href=""/disclaimer.html"">Disclaimer</a></li> <li><a style=""padding-left: 5px; padding-right: 5px;"" href=""https://facebook.com/crimemap"" target=""_blank""><img alt=""facebook"" src=""//s3.amazonaws.com/s3.spotcrime.com/media/layout-v2/images/fb-icon.png""></a></li> <li><a style=""padding-left: 5px; padding-right: 5px;"" href=""https://twitter.com/spotcrime"" target=""_blank""><img alt=""twitter"" src=""//s3.amazonaws.com/s3.spotcrime.com/media/layout-v2/images/twitter-icon.png""></a></li> <li><a style=""padding-left: 5px; padding-right: 5px;"" href=""https://www.youtube.com/user/SpotTube1"" target=""_blank""><img alt=""youtube"" src=""//s3.amazonaws.com/s3.spotcrime.com/media/layout-v2/images/yt-icon.png""></a></li> <li><a style=""padding-left: 5px; padding-right: 5px;"" href=""https://plus.google.com/100880401142331549679"" target=""_blank""><img alt=""google plus"" src=""//s3.amazonaws.com/s3.spotcrime.com/media/layout-v2/images/gp-icon.png""></a></li> </ul> </div><!--/.nav-collapse --> </div> </nav> <!-- Modal --> <div class=""modal"" id=""SignupModal"" tabindex=""-1"" role=""dialog"" aria-labelledby=""SignupModalLabel"" aria-hidden=""true""> <div class=""modal-dialog""> <div class=""modal-content""> <form class=""form"" action='javascript:signupAlerts();'> <div class=""modal-header""> <button type=""button"" class=""close"" data-dismiss=""modal"" aria-label=""Close""><span aria-hidden=""true"">&times;</span></button> <h4 class=""modal-title"" id=""SignupModalLabel"">Signup To Receive Crime Alerts</h4> </div> <div class=""modal-body""> <div class=""alert alert-danger errors"" role=""alert"" style=""display: none;""></div> <div class=""form-group""> <label class=""sr-only"" for=""email"">Email address</label> <input type=""text"" class=""form-control"" id=""email"" placeholder=""Enter email""> </div> </div> <div class=""modal-footer""> <button type=""submit"" class=""btn btn-danger btn-lg"">Get Alerts</button> <button type=""button"" class=""btn btn-default btn-lg"" data-dismiss=""modal"">Close</button> </div> </form> </div> </div> </div> <div class=""modal"" id=""SubscribedModal"" tabindex=""-1"" role=""dialog"" aria-labelledby=""SubscribedModalLabel"" aria-hidden=""true""> <div class=""modal-dialog""> <div class=""modal-content""> <form class=""form"" action='javascript:signupAlerts();'> <div class=""modal-header""> <button type=""button"" class=""close"" data-dismiss=""modal"" aria-label=""Close""><span aria-hidden=""true"">&times;</span></button> <h4 class=""modal-title"" id=""SubscribedModalLabel"">Thank you for the subscription!</h4> </div> <div class=""modal-body""> <div class=""alert alert-success info"" role=""alert""></div> <div class=""alert alert-warning"" role=""alert"">Please check your inbox to confirm your subscription.</div> </div> <div class=""modal-footer""> <button type=""button"" class=""btn btn-default btn-lg"" data-dismiss=""modal"">Close</button> </div> </form> </div> </div> </div> <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src=""https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js""></script> <!-- Latest compiled and minified JavaScript --> <script src=""https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js""></script> <script src=""//s3.amazonaws.com/s3.spotcrime.com/desktop/media/v1/desktop.js""></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-85587602-1', 'auto'); ga('send', 'pageview'); </script> <script src='//maps.google.com/maps/api/js?key=AIzaSyABnRyO3EYI4o4t4Bz6fngF7tw30UGXVx0' type='text/javascript'></script> <script type=""text/javascript""> // Enable the visual refresh google.maps.visualRefresh = true; function initialize() { var crime_location = new google.maps.LatLng( 40.60460190000000,-73.74947380000000); var mapOptions = { zoom: 14, center: crime_location, disableDoubleClickZoom: true } var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); var marker = new google.maps.Marker({ map: map, position: crime_location }); // Google StreetView var panoramaOptions = { position: crime_location, pov: { heading: 34, pitch: 10 } }; var panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview_canvas'), panoramaOptions); google.maps.event.addListener(panorama, 'error', handleNoFlash); map.setStreetView(panorama); function handleNoFlash(errorCode) { if (errorCode == 603) { document.getElementById(""streetview_canvas"").innerHtml = ""You need Adobe Flash to view StreetView""; return; } else if (errorCode == 600) { // Update a ""Google Streetview Loading..."" text document.getElementById(""streetview_canvas"").innerHtml = ""; return; } else { // Update a ""Google Streetview Loading..."" text document.getElementById(""streetview_canvas"").innerHtml = ""; return; } } } google.maps.event.addDomListener(window, 'load', initialize); </script> </body> </html> "; foreach (Match m in Regex.Matches(input, pattern)) { 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