Regular Expressions 101

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 (7)

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
• 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

r"
"
gm

Unit Tests

given the string [] assert that regex does match
given the string [[1],[3]] assert that regex does match
given the string [[1,2],[3,4]] assert that regex does match
given the string [[01,02],[03,04]] assert that regex does not match
given the string [[]] assert that regex does not match
given the string [ [ 1 , 2 ] , [3, 4] ] assert that regex does match
given the string [ ] assert that regex does match