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

r"
"
gms

Test String

Code Generator

Generated Code

re = /<a[\S ]*href=\"([a-zA-Z0-9\/\.:]*)\"[\S ]*[\s]*><img[\S ]*src=\"([a-zA-Z0-9\/\.]*)\"[\S ]*[\s]*\/{0,1}><\/a>/m str = '<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>maia :3</title> <link rel="stylesheet" href="/style.css"/> <link rel="stylesheet" href="/prism.css"/> <meta name="description" content="meow" /> <meta name=\'keywords\' content=\'nyancrimew,maia arson crimew,android,switzerland,hacktivism,lucerne,developer,hacktivism\'> <meta property="og:title" content="maia :3"> <meta property="og:description" content="meow"> <meta property="og:url" content="https://maia.crimew.gay/"> <meta property="og:image" content="https://maia.crimew.gay/img/cover.jpg"> <meta property="og:site_name" content="maia :3"> <meta name="article:author" content="maia arson crimew"> <meta name="article:published_time" content="2023-01-21T17:21:09.000Z"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@_nyancrimew"> <meta name="twitter:creator" content="@_nyancrimew"> <meta name="theme-color" content="#eca9cb"> <link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png"> <link rel="shortcut icon" href="/favicon.ico"> <link rel="alternate" type="application/rss+xml" href="/feed.xml" /> </head> <body> <header id="site_header"> <h1>maia <sub>arson crimew</sub></h1> <nav> <span><a href="/" class="active">home</a></span> <span>|</span> <span><a href="/posts/" >blog</a></span> <span>|</span> <span><a href="/samples/" >sample packs</a></span> </nav> </header> <div id="content"> <div style="display: flex; flex-wrap: wrap; justify-content: center;"> <div style="flex-grow: 1; flex-shrink: 1; flex-basis: 30%; min-width: 200px; max-width: 70%;"> <img src="/img/kitten_cropped.png" alt="a drawing of a small white kitten with black spots sitting and looking at you"> </div> <div style="flex-grow: 2; flex-shrink: 2; flex-basis: 60%;"> <p> hello i am maia arson crimew <sup>(it/she)</sup> and i am gay, mostly for girls, and i\'m a tiny kitten :3 </p> <p> i know lot\'s of things about cyber security, programming and far too little about music but i still try to do all those things at once. if you like the things i do here or on social media you can <a href="https://ko-fi.com/nyancrimew" target="_blank">support me on ko-fi</a>. links to the various things i do can be found in the footer. if you\'re looking for some more serious info about me, <a href="https://en.wikipedia.org/wiki/maia_arson_crimew" target="_blank">there is wikipedia for that</a>. </p> </div> </div> </div> <footer> <div class="footer-kitten"><img src="/img/walkingkitten_crop.png" alt="a small white kitten with black spots walking across the screen"></div> <div> <span><a href="https://maia.crimew.gay/feed.xml" rel="me" target="_blank">rss feed</a></span> <span>|</span> <span><a href="https://twitter.com/_nyancrimew" rel="me" target="_blank">birded site</a></span> <span>|</span> <span><a href="https://crimew.gay/maia" rel="me" target="_blank">fedded verse</a></span> <span>|</span> <span><a href="https://soundcloud.com/nyancrimew" rel="me" target="_blank">sounded cloud</a></span> <span>|</span> <span><a href="https://last.fm/user/nyancrimew" rel="me" target="_blank">last dot federated states of micronesia</a></span> <span>|</span> <span><a href="https://github.com/nyancrimew" rel="me" target="_blank">gitted hub</a></span> <span>|</span> <span><a href="https://git.lavender.software/nyancrimew" rel="me" target="_blank">gitted tea</a></span> </div> <div class="badges"> <a href="https://maia.crimew.gay" target="_blank"><img src="/badges/maia.crimew.gay.png" alt="maia crimew" title="my site :3"></a> <a href="https://cyber.dabamos.de/88x31" target="_blank"><img src="/badges/88x31.gif" alt="88x31" title="baaaadges"></a> <a href="javascript:alert(&#39;what did i tell you??&#39;)" target="_blank"><img src="/badges/noclick.gif" alt="don&#39;t click here" title="don&#39;t do it"></a> <img src="/badges/acab.gif" alt="acab" title="fuck the cops"> <a href="https://archlinux.org" target="_blank"><img src="/badges/archlinux.gif" alt="arch linux" title="i use arch btw"></a> <a href="https://versary.town" target="_blank"><img src="/badges/versarytown.png" alt="versary town" title="a very cool website by a very cool person &lt;3"></a> <a href="https://goop.house" target="_blank"><img src="/badges/goop.gif" alt="goop house" title="goop house next up"></a> <img src="/badges/anarchynow.gif" alt="anarchy now" > <a href="https://sleepy.zone" target="_blank"><img src="/badges/sleepy.png" alt="sleepy zone" title="sleepy.zone is the best internet radio out there"></a> <img src="/badges/kitten88.gif" alt="kitten&#39;s corner" title="im a kitten fr fr"> <a href="https://oat.zone" target="_blank"><img src="/badges/oatzone.gif" alt="oat.zone" ></a> <img src="/badges/slimesnow.png" alt="slimes now" > <img src="/badges/slugcat.png" alt="slugcat" > <a href="https://sinewave.cyou" target="_blank"><img src="/badges/sinewave.gif" alt="sinewave" ></a> <img src="/badges/nonbinary.png" alt="non-binary pride" title="im non binary fr fr"> <img src="/badges/queer.png" alt="queer pride" title="im queeeer as fuck"> <img src="/badges/piracy.gif" alt="piracy now" title="piracy is swag and you should do it"> <a href="https://utsuho.rocks" target="_blank"><img src="/badges/utsuhorocks.png" alt="utsuho rocks" title="utsuho rocks"></a> <a href="https://ilwag.com" target="_blank"><img src="/badges/ilwagbannersmol.png" alt="ilwag.com" title="cute lil tunes :3"></a> </div> <script src="https://lavender.software/webring/webring-0.2.0.js" data-site-id="maia"></script> </footer> </body> </html> ' # Print the match result str.scan(re) do |match| puts match.to_s end

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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html