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

## Tools

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

/
/
i

## Unit Tests

given the string 3411 AC assert that regex does match
given the string 4706 LK assert that regex does match
given the string 2522JV assert that regex does match
given the string 2522 jv assert that regex does match
given the string 2522jV assert that regex does match
given the string NL-2522 JV assert that regex does match
given the string 3431 SO assert that regex does not match
given the string 1245j assert that regex does not match