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

/
/
gi

Test String

Code Generator

Generated Code

$re = '/(?:<([a-z]+).*?>)|(?:<\/([a-z]+)\s*?>)/i'; $str = ' <!-- /Product page --> <!---Customer Page Elements --> <li class="menu-item"> <a href="#" class="has-chevron" data-toggle="collapse" data-target="#customer" aria-expanded="false" aria-controls="customer"> <span><i class="fas fa-users"></i>Bruger og rettigheder</span> </a> <ul id="customer" class="collapse" aria-labelledby="customer" data-parent="#side-nav-accordion"> <li> <a href="../boxandparts/apartagement.asp?page=bruger">Bruger-list</a> </li> <li> <a href="../customer/reviews.html">Reviwes</a> </li> <p>this is a test</p> </ul> </li> <div class="filters--0MGLT"><div class="page--qGgEw desktopFilters--IvcX+"><div class="lhs--pSjru"><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq">Alle billeder</span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg left--mbCrK hidden--Q5vOS"><div class="dropdownMenu--XdQD-"><a class="dropdownMenuItem--yZ9j- active--yBWJC" href="/da/images/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh image--xraWQ"></span></div><label>Alle billeder</label></a><a class="dropdownMenuItem--yZ9j- indentByOne--jwxhb" href="/da/photos/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh photo--q4EAP"></span></div><label>Billeder </label></a><a class="dropdownMenuItem--yZ9j- indentByOne--jwxhb" href="/da/illustrations/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh illustration--U5DXd"></span></div><label>Illustrationer</label></a><a class="dropdownMenuItem--yZ9j- indentByOne--jwxhb" href="/da/vectors/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh vector--FUgoN"></span></div><label>Vektorer</label></a><a class="dropdownMenuItem--yZ9j-" href="/da/videos/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh video--ECx9r"></span></div><label>Videoer</label></a><a class="dropdownMenuItem--yZ9j-" href="/da/gifs/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh flame--+xiI7"></span></div><label>GIF-filer</label></a><a class="dropdownMenuItem--yZ9j-" href="/da/music/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh music--VR9Xr"></span></div><label>Musik</label></a><a class="dropdownMenuItem--yZ9j-" href="/da/sound-effects/search/stitch/"><div class="icon--IMEft"><span class="icon--L+lBh sound-effect--+ZJ0V"></span></div><label>Lydeffekter</label></a></div></div></div><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq">Orientering</span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg left--mbCrK hidden--Q5vOS"><div class="dropdownMenu--XdQD-"><div class="dropdownMenuItem--yZ9j- active--yBWJC"><label>Alle</label></div><div class="dropdownMenuItem--yZ9j-"><label>Vandret</label></div><div class="dropdownMenuItem--yZ9j-"><label>Lodret</label></div></div></div></div><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq">Størrelse</span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg left--mbCrK hidden--Q5vOS"><div class="dropdownMenu--C+MNf"><form><p class="label--3lZpl">Større end</p><div class="inputs--Wqgu4"><div class="textInputContainer--UKemN"><div class="textInputField--xIcYM"><input placeholder="Bredde (px)" type="number" min="0" class="interactiveInputStyle--JrJMF textInput--yG-0W numberInput--lT9cz" tabindex="1" value=""></div></div><span class="times--J3KB0">x</span><div class="textInputContainer--UKemN"><div class="textInputField--xIcYM"><input placeholder="Højde (px)" type="number" min="0" class="interactiveInputStyle--JrJMF textInput--yG-0W numberInput--lT9cz" tabindex="2" value=""></div></div></div><div class="buttons--uNHxF"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"><span class="icon--L+lBh trash--VuWn- leftIcon--lqX0G"></span> <span class="label--Ngqjq">Ryd</span></button><button class="buttonBase--r4opq primaryButton--h-+gi base--jzyee" type="submit"> <span class="label--Ngqjq">Anvend</span></button></div></form></div></div></div><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq">Farve</span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg left--mbCrK hidden--Q5vOS"><div class="dropdownContainer--XuNkE"><label class="checkboxOption--Y6Ae2 checkboxLabel--YZqaE"><div>Gennemsigtig baggrund</div><input class="hiddenInput--YUtGg" type="checkbox" tabindex="-1" value="transparent"><span class="icon--L+lBh checkbox--rYT14"></span></label><label class="checkboxOption--Y6Ae2 checkboxLabel--YZqaE"><div>Sort og hvid</div><input class="hiddenInput--YUtGg" type="checkbox" tabindex="-1" value="grayscale"><span class="icon--L+lBh checkbox--rYT14"></span></label><div class="colorButtons--Bu3Xj"><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Red"><div class="colorCircle--LZPUg red--Njh--"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Orange"><div class="colorCircle--LZPUg orange--XN0Ga"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Yellow"><div class="colorCircle--LZPUg yellow--5BhXp"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Green"><div class="colorCircle--LZPUg green--2+vP6"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Turquoise"><div class="colorCircle--LZPUg turquoise--X6OCN"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Blue"><div class="colorCircle--LZPUg blue--jEdcc"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Lilac"><div class="colorCircle--LZPUg lilac--HYM5T"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Pink"><div class="colorCircle--LZPUg pink--c1ZEe"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="White"><div class="colorCircle--LZPUg white--a8qT4"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Gray"><div class="colorCircle--LZPUg gray--JfDuK"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Black"><div class="colorCircle--LZPUg black--n04Gw"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div><div class="tooltipTriggerWrapper--Afzn1"><button class="container--6u4-q" aria-pressed="false" aria-label="Brown"><div class="colorCircle--LZPUg brown--e2Bue"></div><span class="plusIcon--hNrdk"><span class="icon--L+lBh plus--+qssh"></span></span><span class="crossIcon--OWR2X"><span class="icon--L+lBh close--qCtdc"></span></span><span class="tickIcon--dZnNk"><span class="icon--L+lBh check--0Y4DO"></span></span></button></div></div><div class="buttons--S-Ne0"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI"><span class="icon--L+lBh trash--VuWn- leftIcon--lqX0G"></span> <span class="label--Ngqjq">Ryd</span></button><button class="buttonBase--r4opq primaryButton--h-+gi base--jzyee"> <span class="label--Ngqjq">Anvend</span></button></div></div></div></div><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq">Publiceringsdato</span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg left--mbCrK hidden--Q5vOS"><div class="dropdownMenu--XdQD-"><div class="dropdownMenuItem--yZ9j- active--yBWJC"><label>Alle</label></div><div class="dropdownMenuItem--yZ9j-"><label>&lt; 24 timer</label></div><div class="dropdownMenuItem--yZ9j-"><label>&lt; 72 timer</label></div><div class="dropdownMenuItem--yZ9j-"><label>&lt; 7 dage</label></div><div class="dropdownMenuItem--yZ9j-"><label>&lt; 6 måneder</label></div><div class="dropdownMenuItem--yZ9j-"><label>&lt; 12 måneder</label></div></div></div></div><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq"><span class="label--vo0M9"><span>Indholdstype</span><div class="badge--qBaGS primary--5EKA6 light--Wgkpl"><span class="h5--SGXxb uppercase--HKg8B">Ny</span></div></span></span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg left--mbCrK hidden--Q5vOS"><div class="dropdownMenu--XdQD-"><div class="dropdownMenuItem--yZ9j- active--yBWJC"><label>Alt indhold</label></div><div class="dropdownMenuItem--yZ9j-"><label>Kun autentisk</label></div><div class="dropdownMenuItem--yZ9j-"><label>Kun AI-genereret</label></div></div></div></div></div><div class="rhs--uN-lO"><div class="container--YKYLB"><div class="tooltipTriggerWrapper--Afzn1"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq tertiaryButton--+4ehJ base--jzyee light--uBcBI iconOnly--QRahF" type="button"><span class="icon--L+lBh settings--6ouaF rightIcon--V-PNx"></span></button></div></div><div class="dropdown--QzC2F light--boaNg right--Yg1-e hidden--Q5vOS"><div class="dropdownMenu--XdQD- searchSettingsMenu--vo3YH"><label class="wrapper--TPUGS"><button class="switch--Y8kLG light--RnZg4" type="button" role="switch" aria-checked="false"><span class="slide--3SqWu"><span class="knob--JrxTm"></span></span></button><span class="label--3HOwP">Sikker søgning</span><div class="tooltipTriggerWrapper--Afzn1 helpIcon--B9e6G"><div class="icon--4zP+9 md--MNJyA" role="img" aria-label="Question"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" color="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 12a6 6 0 11-12 0 6 6 0 0112 0zm2 0a8 8 0 11-16 0 8 8 0 0116 0zm-9.012.895v.392h1.404v-.318c0-.211.044-.383.133-.513.091-.131.307-.322.646-.573.494-.353.83-.67 1.007-.953.176-.283.264-.618.264-1.007 0-.583-.215-1.049-.646-1.399-.427-.35-1.005-.524-1.732-.524-.883 0-1.719.22-2.506.662l.577 1.16c.678-.346 1.282-.519 1.812-.519.304 0 .54.06.71.18.17.12.254.295.254.525 0 .205-.06.39-.18.556-.116.166-.36.382-.731.647-.385.282-.65.549-.795.8-.145.25-.217.545-.217.884zm.069 1.532c-.159.151-.239.376-.239.672 0 .286.082.509.244.668.163.155.392.233.689.233.29 0 .516-.08.678-.238.163-.163.244-.384.244-.663 0-.29-.081-.512-.244-.667-.159-.156-.385-.233-.678-.233-.304 0-.535.076-.694.228z"></path></svg></div></div><p class="explainer--C9QAy">Hvis du bruger Pixabay på en skole eller en arbejdsplads, kan du blokere det meste indhold, der er beregnet for voksne, ved at aktivere indstillingen SafeSearch.</p></label></div></div></div><div class="container--YKYLB"><div class="triggerWrapper--NACCC"><button class="buttonBase--r4opq secondaryButton--xk9cO base--jzyee light--uBcBI" type="button"> <span class="label--Ngqjq">Mest relevant</span><span class="icon--L+lBh chevron-d--ne5Cd rightIcon--V-PNx"></span></button></div><div class="dropdown--QzC2F light--boaNg right--Yg1-e hidden--Q5vOS"><div class="dropdownMenu--XdQD-"><div class="dropdownMenuItem--yZ9j-"><label>Nyeste</label></div><div class="dropdownMenuItem--yZ9j-"><label>Redaktørens valg</label></div><div class="dropdownMenuItem--yZ9j-"><label>Populære</label></div><div class="dropdownMenuItem--yZ9j-"><label>Mest relevant</label></div></div></div></div></div></div></div>'; 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