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

/
/
gm

Test String

Code Generator

Generated Code

$re = '/(?:\d[ -]*?){13,16}/m'; $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus pellentesque nunc, quis auctor metus porttitor sit amet. In eu ex metus. Aenean felis nibh, maximus sed volutpat id, iaculis eu orci. Donec ut mollis sapien. Cras consequat, turpis non blandit dignissim, ligula lorem dapibus leo, eget varius 4111 1234 1234 1234 libero ligula nec felis. Aenean hendrerit porta velit, ut aliquet lectus efficitur id. Cras molestie bibendum justo sit amet scelerisque. Suspendisse arcu nulla, pulvinar et dolor quis, ultricies sodales leo. Donec sagittis sed nulla nec commodo. Donec rutrum nibh nisl, sit amet pretium odio aliquam at. Integer faucibus, nulla et pellentesque porttitor, lorem ex molestie dolor, et tincidunt ligula mauris a orci. Nunc condimentum condimentum metus. Sed sit amet iaculis tellus. Aliquam vitae dolor nisi. Pellentesque habitant 5111-1234-1234-1234morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed vitae quam urna. Aenean vel consectetur nisi. Duis nec nibh nibh. Nullam id augue id ipsum fermentum hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam efficitur augue nec porta varius. Nunc tempus commodo dui vitae pretium. Maecenas ornare ornare velit, sed eleifend lectus aliquam id. Aliquam sed pretium sapien. Integer rutrum fermentum velit, sed tristique metus hendrerit et. Integer pretium augue vel ultricies accumsan. Nunc sapien justo, faucibus sed varius quis, vestibulum eget orci. Curabitur bibendum erat sit amet sollicitudin elementum. Aliquam volutpat augue vel nisl tincidunt sollicitudin. Nam accumsan lobortis odio, ac faucibus ligula tristique ac. In velit lectus, tempor convallis risus convallis, posuere viverra lacus. Morbi non nisl eget nunc dignissim imperdiet. Mauris in venenatis quam, eget congue arcu. Duis maximus metus quis dictum dignissim. Nullam vel felis velit. Suspendisse elit tortor, mattis a diam vitae, semper sodales 37 3111 1234 12345 enim. Pellentesque ullamcorper leo a erat placerat lacinia. Vestibulum ac tellus non magna iaculis aliquam. Phasellus nec libero ac dui fringilla sodales a sit amet sem. Nullam congue urna mauris, sed ullamcorper tortor ultricies vitae. Curabitur tincidunt vitae purus vitae eleifend. Donec id tortor in ligula lacinia porttitor ullamcorper quis massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean nec tempor turpis. Ut nec metus porta, euismod lorem6011111111111117nec, tempor lorem. Morbi interdum porta dolor tincidunt pretium. Morbi libero nibh, feugiat nec tincidunt ultricies, condimentum sed nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse congue elit sed metus fermentum malesuada. Phasellus vitae tristique justo. Vivamus ultrices, ligula eu suscipit cursus, tortor turpis congue dui, ut accumsan lorem lorem id ex. Mauris et aliquam massa. Duis posuere tempor elit in dapibus. Phasellus eget vulputate enim.'; 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