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
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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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
No Match

`
`
g

Test String

Code Generator

Generated Code

package main import ( "regexp" "fmt" ) func main() { var re = regexp.MustCompile(`<a class=\"overlay lightbox\" href=\"(.*?)\">`) var str = `<!DOCTYPE html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="keywords" content="Bootstrap, Landing page, Template, Registration, Landing"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="author" content="Grayrids"> <title>FreeSS</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css/font-awesome.min.css"> <link rel="stylesheet" href="css/line-icons.css"> <link rel="stylesheet" href="css/owl.carousel.css"> <link rel="stylesheet" href="css/owl.theme.css"> <link rel="stylesheet" href="css/nivo-lightbox.css"> <link rel="stylesheet" href="css/magnific-popup.css"> <link rel="stylesheet" href="css/animate.css"> <link rel="stylesheet" href="css/menu_sideslide.css"> <link rel="stylesheet" href="css/main.css"> <link rel="stylesheet" href="css/responsive.css"> </head> <body> <div class="menu-wrap"> <nav class="menu navbar"> <div class="icon-list navbar-collapse"> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="#video-area">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#portfolios">Free</a> </li> <li class="nav-item"> <a class="nav-link" href="#features">Howto</a> </li> <li class="nav-item"> <a class="nav-link" href="#download">Premium</a> </li> </ul> </div> </nav> <button class="close-button" id="close-button"><i class="lnr lnr-cross"></i></button> </div> <!-- Header Section Start --> <header id="video-area" data-stellar-background-ratio="0.5"> <div id="block" data-vide-bg="video/video"></div> <div class="fixed-top"> <div class="container"> <div class="logo-menu"> <a href="index.html" class="logo"><span class="lnr lnr-diamond"></span> FreeSS</a> <button class="menu-button" id="open-button"><i class="lnr lnr-menu"></i></button> </div> </div> </div> <div class="overlay overlay-2"></div> <div class="container"> <div class="row justify-content-md-center"> <div class="col-md-10"> <div class="contents text-center"> <h1 class="wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="0.3s">FreeSS - Free Network Assistant and Analysis Information</h1> <p class="lead wow fadeIn" data-wow-duration="1000ms" data-wow-delay="400ms">Free SS/SSR configurations for research and testing purpose. <br>All illegal activites will be prohibited and logged.</p> <a href="#portfolios" class="btn btn-common wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="400ms"><i class="lnr lnr-arrow-down"></i> View More</a> </div> </div> </div> </div> </header> <!-- Header Section End --> <!-- Portfolio Section --> <section id="portfolios" class="section"> <!-- Container Starts --> <div class="container"> <div class="section-header"> <h2 class="section-title wow fadeIn" data-wow-duration="1000ms" data-wow-delay="0.3s">Free <span>Configurations</span></h2> <hr class="lines wow zoomIn" data-wow-delay="0.3s"> <p class="section-subtitle wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="0.3s">All connections will be reset and updated new password in every 4 hours. <br> Download software suitable for your devices, scan the QR image to configure automatically.</p> </div> <div class="row"> <div class="col-md-12"> <!-- Portfolio Controller/Buttons --> <div class="controls text-center wow fadeInUp" data-wow-delay=".6s"> <a class="control mixitup-control-active btn btn-common" data-filter="all"> All </a> <a class="control btn btn-common" data-filter=".ss"> SS </a> <a class="control btn btn-common" data-filter=".ssr"> SSR </a> </div> <!-- Portfolio Controller/Buttons Ends--> <!-- Portfolio Recent Projects --> <div id="portfolio" class="row wow fadeInUp" data-wow-delay="0.8s"> <div class="col-sm-6 col-md-4 col-lg-4 col-xl-4 mix ss"> <div class="portfolio-item"> <div class="shot-item"> <a class="overlay lightbox" href="img/portfolio/ss1_EzvVb.png"> <img src="img/portfolio/img1.jpg" alt="" /> <i class="lnr lnr-plus-circle item-icon"></i> </a> </div> </div> </div> <div class="col-sm-6 col-md-4 col-lg-4 col-xl-4 mix ss"> <div class="portfolio-item"> <div class="shot-item"> <a class="overlay lightbox" href="img/portfolio/ss2_zq8ec.png"> <img src="img/portfolio/img2.jpg" alt="" /> <i class="lnr lnr-plus-circle item-icon"></i> </a> </div> </div> </div> <div class="col-sm-6 col-md-4 col-lg-4 col-xl-4 mix ss"> <div class="portfolio-item"> <div class="shot-item"> <a class="overlay lightbox" href="img/portfolio/ss3_mp993.png"> <img src="img/portfolio/img3.jpg" alt="" /> <i class="lnr lnr-plus-circle item-icon"></i> </a> </div> </div> </div> <div class="col-sm-6 col-md-4 col-lg-4 col-xl-4 mix ssr"> <div class="portfolio-item"> <div class="shot-item"> <a class="overlay lightbox" href="img/portfolio/ssr1_ZmMQj.png"> <img src="img/portfolio/img4.jpg" alt="" /> <i class="lnr lnr-plus-circle item-icon"></i> </a> </div> </div> </div> <div class="col-sm-6 col-md-4 col-lg-4 col-xl-4 mix ssr"> <div class="portfolio-item"> <div class="shot-item"> <a class="overlay lightbox" href="img/portfolio/ssr2_RVWws.png"> <img src="img/portfolio/img5.jpg" alt="" /> <i class="lnr lnr-plus-circle item-icon"></i> </a> </div> </div> </div> <div class="col-sm-6 col-md-4 col-lg-4 col-xl-4 mix ssr"> <div class="portfolio-item"> <div class="shot-item"> <a class="overlay lightbox" href="img/portfolio/ssr3_tH0jw.png"> <img src="img/portfolio/img6.jpg" alt="" /> <i class="lnr lnr-plus-circle item-icon"></i> </a> </div> </div> </div> </div> </div> </div> </div> <!-- Container Ends --> </section> <!-- Portfolio Section Ends --> <!-- Services Section Start --> <section id="features" class="section"> <div class="container"> <div class="section-header"> <h2 class="section-title wow fadeIn" data-wow-duration="1000ms" data-wow-delay="0.3s">Setup <span>Howto</span></h2> <hr class="lines wow zoomIn" data-wow-delay="0.3s"> <p class="section-subtitle wow fadeIn" data-wow-duration="1000ms" data-wow-delay="0.3s">Download software compatible with your devices. <br> Scan QR image to configure automatically. </p> </div> <div class="row"> <div class="col-md-6 col-sm-6"> <div class="item-boxes wow fadeInDown" data-wow-delay="0.2s"> <div class="icon"> <i class="fa fa-windows"></i> </div> <h4>Windows</h4> <p><a href="/files/ss-4.0.9.zip"><i class="lnr lnr-download"></i> SS-4.0.9</a><br> <a href="/files/ssr-win-4.9.0.zip"><i class="lnr lnr-download"></i> SSR-4.9.0</a></p> </div> </div> <div class="col-md-6 col-sm-6"> <div class="item-boxes wow fadeInDown" data-wow-delay="0.4s"> <div class="icon"> <i class="fa fa-laptop"></i> </div> <h4>Macbook</h4> <p><a href="/files/ss-mac-2.6.3.dmg"><i class="lnr lnr-download"></i> SSX-2.6.3</a><br> <a href="/files/ssr-ng-mac-1.7.0.zip"><i class="lnr lnr-download"></i> SSR-1.7.0</a></p> </div> </div> <div class="col-md-6 col-sm-6"> <div class="item-boxes wow fadeInDown" data-wow-delay="0.6s"> <div class="icon"> <i class="fa fa-apple"></i> </div> <h4>iPhone/iPad</h4> <p>Not available in China Appstore. <br>Try to switch Canada regions.<br><a href="https://itunes.apple.com/us/app/wingy-http-s-socks5-proxy-utility/id1178584911" target="_blank><i class="lnr lnr-download"></i> App1(Free)</a><br><a href="https://itunes.apple.com/us/app/potatso-lite/id1239860606" target="_blank><i class="lnr lnr-download"></i> App2(Free)</a><br><a href="https://itunes.apple.com/us/app/shadowrocket/id932747118" target="_blank><i class="lnr lnr-download"></i> App3($2.99)</a></p> </div> </div> <div class="col-md-6 col-sm-6"> <div class="item-boxes wow fadeInDown" data-wow-delay="0.8s"> <div class="icon"> <i class="fa fa-android"></i> </div> <h4>Android</h4> <p><a href="/files/ss-4.5.6.apk"><i class="lnr lnr-download"></i> SS-4.5.6</a><br> <a href="/files/ssr-3.4.0.8.apk"><i class="lnr lnr-download"></i> SSR-3.4.0.8</a></p> </div> </div> </div> </div> </section> <!-- Services Section End --> <!-- Download Section Start --> <section id="download" class="section"> <div class="container"> <div class="section-header"> <h2 class="section-title wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="0.3s"><span>Premium</span> Service</h2> </div> <div class="row"> <div class="col-md-12"> <div class="download-area text-center wow fadeInUp" data-wow-delay="0.3s"> <a href="https://intl.getss.org/users/aff.php?aff=150" class="btn btn-border"><i class="fa fa-hand-o-right"></i>Click to View</a> </div> </div> </div> </div> </section> <!-- Download Section End --> <!-- Footer Section Start --> <footer> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="site-info wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="0.3s"> <p>All copyrights reserved &copy; 2018 - <a rel="nofollow" href="https://get.freess.today">FreeSS</a></p> </div> </div> </div> </div> </footer> <!-- Footer Section End --> <!-- Go To Top Link --> <a href="#" class="back-to-top"> <i class="lnr lnr-arrow-up"></i> </a> <div id="loader"> <div class="spinner"> <div class="double-bounce1"></div> <div class="double-bounce2"></div> </div> </div> <!-- jQuery first, then Tether, then Bootstrap JS. --> <script src="js/jquery-min.js"></script> <script src="js/tether.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/classie.js"></script> <script src="js/mixitup.min.js"></script> <script src="js/nivo-lightbox.js"></script> <script src="js/owl.carousel.min.js"></script> <script src="js/jquery.stellar.min.js"></script> <script src="js/jquery.nav.js"></script> <!-- <script src="js/smooth-scroll.js"></script> <script src="js/smooth-on-scroll.js"></script> --> <script src="js/wow.js"></script> <script src="js/menu.js"></script> <script src="js/jquery.vide.js"></script> <script src="js/jquery.counterup.min.js"></script> <script src="js/jquery.magnific-popup.min.js"></script> <script src="js/waypoints.min.js"></script> <script src="js/form-validator.min.js"></script> <script src="js/contact-form-script.js"></script> <script src="js/main.js"></script> </body> </html> ` for i, match := range re.FindAllString(str, -1) { fmt.Println(match, "found at index", i) } }

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 Golang, please visit: https://golang.org/pkg/regexp/