Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • 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
No Match

/
/
gm

Test String

Code Generator

Generated Code

const regex = /(https:\/\/content.tfl.gov.uk.+\.pdf)/gm; // Alternative syntax using RegExp constructor // const regex = new RegExp('(https:\\\/\\\/content.tfl.gov.uk.+\\.pdf)', 'gm') const str = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Turpis egestas sed tempus urna et pharetra pharetra massa massa. Et tortor consequat id porta. Eu ultrices vitae auctor eu augue. Risus nullam eget felis eget nunc lobortis mattis aliquam faucibus. Sollicitudin aliquam ultrices sagittis orci a scelerisque. Sit amet aliquam id diam maecenas ultricies mi. Et leo duis ut diam quam nulla porttitor. Elementum curabitur vitae nunc sed velit dignissim. Lorem ipsum dolor sit amet consectetur adipiscing elit duis tristique. Nisl nunc mi ipsum faucibus vitae aliquet nec. Magnis dis parturient montes nascetur ridiculus mus mauris. Iaculis nunc sed augue lacus. Magna fermentum iaculis eu non diam. In hac habitasse platea dictumst quisque. Aliquet nibh praesent tristique magna sit amet. Eros donec ac odio tempor orci. Odio eu feugiat pretium nibh ipsum consequat. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sed vulputate mi sit amet mauris commodo. Tellus orci ac auctor augue mauris. Semper quis lectus nulla at volutpat diam ut venenatis. Vel orci porta non pulvinar neque laoreet. At risus viverra adipiscing at in tellus integer feugiat. Auctor eu augue ut lectus arcu bibendum at. Viverra adipiscing at in tellus integer feugiat scelerisque varius. Cursus risus at ultrices mi. Cursus turpis massa tincidunt dui ut ornare. Amet tellus cras adipiscing enim eu turpis. Lectus sit amet est placerat in. Mi tempus imperdiet nulla malesuada pellentesque. Viverra justo nec ultrices dui sapien. Lorem ipsum dolor sit amet consectetur. Libero enim sed faucibus turpis. Augue eget arcu dictum varius duis at. Lectus sit amet est placerat. Ornare massa eget egestas purus viverra accumsan in. Morbi tincidunt augue interdum velit euismod. https://content.tfl.gov.uk/standard-tube-map.pdf Massa vitae tortor condimentum lacinia quis vel eros donec. Arcu cursus euismod quis viverra nibh cras pulvinar mattis. Ultricies integer quis auctor elit sed. Pretium viverra suspendisse potenti nullam ac tortor vitae. Nisl nunc mi ipsum faucibus vitae. Dolor sit amet consectetur adipiscing elit pellentesque. Commodo nulla facilisi nullam vehicula ipsum. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin. Lacus luctus accumsan tortor posuere ac ut consequat semper viverra. Aliquam sem et tortor consequat. Magna sit amet purus gravida. Porttitor leo a diam sollicitudin tempor id eu. Mi sit amet mauris commodo quis imperdiet massa tincidunt nunc. Libero nunc consequat interdum varius sit amet. Gravida dictum fusce ut placerat orci nulla. Tortor pretium viverra suspendisse potenti nullam ac. Platea dictumst quisque sagittis purus sit amet volutpat consequat. Tellus elementum sagittis vitae et leo duis ut. Eget nunc scelerisque viverra mauris in aliquam sem fringilla ut. Condimentum id venenatis a condimentum vitae sapien pellentesque habitant. Euismod elementum nisi quis eleifend quam adipiscing vitae. Penatibus et magnis dis parturient montes nascetur ridiculus mus mauris. Tristique senectus et netus et malesuada fames ac turpis egestas. Praesent tristique magna sit amet purus gravida. Nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur. Turpis tincidunt id aliquet risus feugiat in ante metus. Volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque eleifend. Nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur. `; // Reset `lastIndex` if this regex is defined globally // regex.lastIndex = 0; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); }

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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions