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

/
/
g

Test String

Code Generator

Generated Code

$re = '/A\d{8}\.\d{4}\+\d{4}-\d{4}\+\d{4}_.*+/'; $str = 'A20160220.0000+0100-0015+0100_ABAI_LTE.xml A20160220.0000+0100-0100+0100_ABAI_LTE.xml A20160220.0015+0100-0030+0100_ABAI_LTE.xml A20160220.0030+0100-0045+0100_ABAI_LTE.xml A20160220.0045+0100-0100+0100_ABAI_LTE.xml A20160220.0100+0100-0115+0100_ABAI_LTE.xml A20160220.0100+0100-0200+0100_ABAI_LTE.xml A20160220.0115+0100-0130+0100_ABAI_LTE.xml A20160220.0130+0100-0145+0100_ABAI_LTE.xml A20160220.0145+0100-0200+0100_ABAI_LTE.xml A20160220.0200+0100-0215+0100_ABAI_LTE.xml A20160220.0200+0100-0300+0100_ABAI_LTE.xml A20160220.0215+0100-0230+0100_ABAI_LTE.xml A20160220.0230+0100-0245+0100_ABAI_LTE.xml A20160220.0245+0100-0300+0100_ABAI_LTE.xml A20160220.0300+0100-0315+0100_ABAI_LTE.xml A20160220.0300+0100-0400+0100_ABAI_LTE.xml A20160220.0315+0100-0330+0100_ABAI_LTE.xml A20160220.0330+0100-0345+0100_ABAI_LTE.xml A20160220.0345+0100-0400+0100_ABAI_LTE.xml A20160220.0400+0100-0415+0100_ABAI_LTE.xml A20160220.0400+0100-0500+0100_ABAI_LTE.xml A20160220.0415+0100-0430+0100_ABAI_LTE.xml A20160220.0430+0100-0445+0100_ABAI_LTE.xml A20160220.0445+0100-0500+0100_ABAI_LTE.xml A20160220.0500+0100-0515+0100_ABAI_LTE.xml A20160220.0500+0100-0600+0100_ABAI_LTE.xml A20160220.0515+0100-0530+0100_ABAI_LTE.xml A20160220.0530+0100-0545+0100_ABAI_LTE.xml A20160220.0545+0100-0600+0100_ABAI_LTE.xml A20160220.0600+0100-0615+0100_ABAI_LTE.xml A20160220.0600+0100-0700+0100_ABAI_LTE.xml A20160220.0615+0100-0630+0100_ABAI_LTE.xml A20160220.0630+0100-0645+0100_ABAI_LTE.xml A20160220.0645+0100-0700+0100_ABAI_LTE.xml A20160220.0700+0100-0715+0100_ABAI_LTE.xml A20160220.0700+0100-0800+0100_ABAI_LTE.xml A20160220.0715+0100-0730+0100_ABAI_LTE.xml A20160220.0730+0100-0745+0100_ABAI_LTE.xml A20160220.0745+0100-0800+0100_ABAI_LTE.xml A20160220.0800+0100-0815+0100_ABAI_LTE.xml A20160220.0800+0100-0900+0100_ABAI_LTE.xml A20160220.0815+0100-0830+0100_ABAI_LTE.xml A20160220.0830+0100-0845+0100_ABAI_LTE.xml A20160220.0845+0100-0900+0100_ABAI_LTE.xml A20160220.0900+0100-0915+0100_ABAI_LTE.xml A20160220.0900+0100-1000+0100_ABAI_LTE.xml A20160220.0915+0100-0930+0100_ABAI_LTE.xml A20160220.0930+0100-0945+0100_ABAI_LTE.xml A20160220.0945+0100-1000+0100_ABAI_LTE.xml A20160220.1000+0100-1015+0100_ABAI_LTE.xml A20160220.1000+0100-1100+0100_ABAI_LTE.xml A20160220.1015+0100-1030+0100_ABAI_LTE.xml A20160220.1030+0100-1045+0100_ABAI_LTE.xml A20160220.1045+0100-1100+0100_ABAI_LTE.xml A20160220.1100+0100-1115+0100_ABAI_LTE.xml A20160220.1100+0100-1200+0100_ABAI_LTE.xml A20160220.1115+0100-1130+0100_ABAI_LTE.xml A20160220.1130+0100-1145+0100_ABAI_LTE.xml A20160220.1145+0100-1200+0100_ABAI_LTE.xml A20160220.1200+0100-1215+0100_ABAI_LTE.xml A20160220.1200+0100-1300+0100_ABAI_LTE.xml A20160220.1215+0100-1230+0100_ABAI_LTE.xml A20160220.1230+0100-1245+0100_ABAI_LTE.xml A20160220.1245+0100-1300+0100_ABAI_LTE.xml A20160220.1300+0100-1315+0100_ABAI_LTE.xml A20160220.1300+0100-1400+0100_ABAI_LTE.xml A20160220.1315+0100-1330+0100_ABAI_LTE.xml A20160220.1330+0100-1345+0100_ABAI_LTE.xml A20160220.1345+0100-1400+0100_ABAI_LTE.xml A20160220.1400+0100-1415+0100_ABAI_LTE.xml A20160220.1400+0100-1500+0100_ABAI_LTE.xml A20160220.1415+0100-1430+0100_ABAI_LTE.xml A20160220.1430+0100-1445+0100_ABAI_LTE.xml A20160220.1445+0100-1500+0100_ABAI_LTE.xml A20160220.1500+0100-1515+0100_ABAI_LTE.xml A20160220.1500+0100-1600+0100_ABAI_LTE.xml A20160220.1515+0100-1530+0100_ABAI_LTE.xml A20160220.1530+0100-1545+0100_ABAI_LTE.xml A20160220.1545+0100-1600+0100_ABAI_LTE.xml A20160220.1600+0100-1615+0100_ABAI_LTE.xml A20160220.1600+0100-1700+0100_ABAI_LTE.xml A20160220.1615+0100-1630+0100_ABAI_LTE.xml A20160220.1630+0100-1645+0100_ABAI_LTE.xml A20160220.1645+0100-1700+0100_ABAI_LTE.xml A20160220.1700+0100-1715+0100_ABAI_LTE.xml A20160220.1700+0100-1800+0100_ABAI_LTE.xml A20160220.1715+0100-1730+0100_ABAI_LTE.xml A20160220.1730+0100-1745+0100_ABAI_LTE.xml A20160220.1745+0100-1800+0100_ABAI_LTE.xml A20160220.1800+0100-1815+0100_ABAI_LTE.xml A20160220.1800+0100-1900+0100_ABAI_LTE.xml A20160220.1815+0100-1830+0100_ABAI_LTE.xml A20160220.1830+0100-1845+0100_ABAI_LTE.xml A20160220.1845+0100-1900+0100_ABAI_LTE.xml A20160220.1900+0100-1915+0100_ABAI_LTE.xml A20160220.1900+0100-2000+0100_ABAI_LTE.xml A20160220.1915+0100-1930+0100_ABAI_LTE.xml A20160220.1930+0100-1945+0100_ABAI_LTE.xml A20160220.1945+0100-2000+0100_ABAI_LTE.xml A20160220.2000+0100-2015+0100_ABAI_LTE.xml A20160220.2000+0100-2100+0100_ABAI_LTE.xml A20160220.2015+0100-2030+0100_ABAI_LTE.xml A20160220.2030+0100-2045+0100_ABAI_LTE.xml A20160220.2045+0100-2100+0100_ABAI_LTE.xml A20160220.2100+0100-2115+0100_ABAI_LTE.xml A20160220.2100+0100-2200+0100_ABAI_LTE.xml A20160220.2115+0100-2130+0100_ABAI_LTE.xml A20160220.2130+0100-2145+0100_ABAI_LTE.xml A20160220.2145+0100-2200+0100_ABAI_LTE.xml A20160220.2200+0100-2215+0100_ABAI_LTE.xml A20160220.2200+0100-2300+0100_ABAI_LTE.xml A20160220.2215+0100-2230+0100_ABAI_LTE.xml A20160220.2230+0100-2245+0100_ABAI_LTE.xml A20160220.2245+0100-2300+0100_ABAI_LTE.xml A20160220.2300+0100-0000+0100_ABAI_LTE.xml A20160220.2300+0100-2315+0100_ABAI_LTE.xml A20160220.2315+0100-2330+0100_ABAI_LTE.xml A20160220.2330+0100-2345+0100_ABAI_LTE.xml A20160220.2345+0100-0000+0100_ABAI_LTE.xml A20160220.0000+0100-0015+0100_ADLI_LTE.xml A20160220.0000+0100-0100+0100_ADLI_LTE.xml A20160220.0015+0100-0030+0100_ADLI_LTE.xml A20160220.0030+0100-0045+0100_ADLI_LTE.xml A20160220.0045+0100-0100+0100_ADLI_LTE.xml A20160220.0100+0100-0115+0100_ADLI_LTE.xml A20160220.0100+0100-0200+0100_ADLI_LTE.xml A20160220.0115+0100-0130+0100_ADLI_LTE.xml A20160220.0130+0100-0145+0100_ADLI_LTE.xml A20160220.0145+0100-0200+0100_ADLI_LTE.xml A20160220.0200+0100-0215+0100_ADLI_LTE.xml A20160220.0200+0100-0300+0100_ADLI_LTE.xml A20160220.0215+0100-0230+0100_ADLI_LTE.xml A20160220.0230+0100-0245+0100_ADLI_LTE.xml A20160220.0245+0100-0300+0100_ADLI_LTE.xml A20160220.0300+0100-0315+0100_ADLI_LTE.xml A20160220.0300+0100-0400+0100_ADLI_LTE.xml A20160220.0315+0100-0330+0100_ADLI_LTE.xml A20160220.0330+0100-0345+0100_ADLI_LTE.xml A20160220.0345+0100-0400+0100_ADLI_LTE.xml A20160220.0400+0100-0415+0100_ADLI_LTE.xml A20160220.0400+0100-0500+0100_ADLI_LTE.xml A20160220.0415+0100-0430+0100_ADLI_LTE.xml A20160220.0430+0100-0445+0100_ADLI_LTE.xml A20160220.0445+0100-0500+0100_ADLI_LTE.xml A20160220.0500+0100-0515+0100_ADLI_LTE.xml A20160220.0500+0100-0600+0100_ADLI_LTE.xml A20160220.0515+0100-0530+0100_ADLI_LTE.xml A20160220.0530+0100-0545+0100_ADLI_LTE.xml A20160220.0545+0100-0600+0100_ADLI_LTE.xml A20160220.0600+0100-0615+0100_ADLI_LTE.xml A20160220.0600+0100-0700+0100_ADLI_LTE.xml A20160220.0615+0100-0630+0100_ADLI_LTE.xml A20160220.0630+0100-0645+0100_ADLI_LTE.xml A20160220.0645+0100-0700+0100_ADLI_LTE.xml A20160220.0700+0100-0715+0100_ADLI_LTE.xml A20160220.0700+0100-0800+0100_ADLI_LTE.xml A20160220.0715+0100-0730+0100_ADLI_LTE.xml A20160220.0730+0100-0745+0100_ADLI_LTE.xml A20160220.0745+0100-0800+0100_ADLI_LTE.xml A20160220.0800+0100-0815+0100_ADLI_LTE.xml A20160220.0800+0100-0900+0100_ADLI_LTE.xml A20160220.0815+0100-0830+0100_ADLI_LTE.xml A20160220.0830+0100-0845+0100_ADLI_LTE.xml A20160220.0845+0100-0900+0100_ADLI_LTE.xml A20160220.0900+0100-0915+0100_ADLI_LTE.xml A20160220.0900+0100-1000+0100_ADLI_LTE.xml A20160220.0915+0100-0930+0100_ADLI_LTE.xml A20160220.0930+0100-0945+0100_ADLI_LTE.xml A20160220.0945+0100-1000+0100_ADLI_LTE.xml A20160220.1000+0100-1015+0100_ADLI_LTE.xml A20160220.1000+0100-1100+0100_ADLI_LTE.xml A20160220.1015+0100-1030+0100_ADLI_LTE.xml A20160220.1030+0100-1045+0100_ADLI_LTE.xml A20160220.1045+0100-1100+0100_ADLI_LTE.xml A20160220.1100+0100-1115+0100_ADLI_LTE.xml A20160220.1100+0100-1200+0100_ADLI_LTE.xml A20160220.1115+0100-1130+0100_ADLI_LTE.xml A20160220.1130+0100-1145+0100_ADLI_LTE.xml A20160220.1145+0100-1200+0100_ADLI_LTE.xml A20160220.1200+0100-1215+0100_ADLI_LTE.xml A20160220.1200+0100-1300+0100_ADLI_LTE.xml A20160220.1215+0100-1230+0100_ADLI_LTE.xml A20160220.1230+0100-1245+0100_ADLI_LTE.xml A20160220.1245+0100-1300+0100_ADLI_LTE.xml A20160220.1300+0100-1315+0100_ADLI_LTE.xml A20160220.1300+0100-1400+0100_ADLI_LTE.xml A20160220.1315+0100-1330+0100_ADLI_LTE.xml A20160220.1330+0100-1345+0100_ADLI_LTE.xml A20160220.1345+0100-1400+0100_ADLI_LTE.xml A20160220.1400+0100-1415+0100_ADLI_LTE.xml A20160220.1400+0100-1500+0100_ADLI_LTE.xml A20160220.1415+0100-1430+0100_ADLI_LTE.xml A20160220.1430+0100-1445+0100_ADLI_LTE.xml A20160220.1445+0100-1500+0100_ADLI_LTE.xml A20160220.1500+0100-1515+0100_ADLI_LTE.xml A20160220.1500+0100-1600+0100_ADLI_LTE.xml A20160220.1515+0100-1530+0100_ADLI_LTE.xml A20160220.1530+0100-1545+0100_ADLI_LTE.xml A20160220.1545+0100-1600+0100_ADLI_LTE.xml A20160220.1600+0100-1615+0100_ADLI_LTE.xml A20160220.1600+0100-1700+0100_ADLI_LTE.xml A20160220.1615+0100-1630+0100_ADLI_LTE.xml A20160220.1630+0100-1645+0100_ADLI_LTE.xml A20160220.1645+0100-1700+0100_ADLI_LTE.xml A20160220.1700+0100-1715+0100_ADLI_LTE.xml A20160220.1700+0100-1800+0100_ADLI_LTE.xml A20160220.1715+0100-1730+0100_ADLI_LTE.xml A20160220.1730+0100-1745+0100_ADLI_LTE.xml A20160220.1745+0100-1800+0100_ADLI_LTE.xml A20160220.1800+0100-1815+0100_ADLI_LTE.xml'; 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