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

## Tools

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

/
/

## Unit Tests

given the string 12/33/90 assert that regex does not match
given the string 12/19/90 assert that regex does match
given the string 13/1/90 assert that regex does not match
given the string 12/1/90 assert that regex does match
given the string 01/01/15 assert that regex does match
given the string 1/01/15 assert that regex does match
given the string 1/1/15 assert that regex does match
given the string 13/1/1990 assert that regex does not match
given the string 01/33/1990 assert that regex does not match

# Code Generator

## Generated Code

``` const regex = /^([1-9]{1}|(0[0-9]|1[0-2]))\/([1-9]{1}|0[1-9]|1\d|2\d|3[01])\/\d{2}\$/; // Alternative syntax using RegExp constructor // const regex = new RegExp('^([1-9]{1}|(0[0-9]|1[0-2]))\\\/([1-9]{1}|0[1-9]|1\\d|2\\d|3[01])\\\/\\d{2}\$', '') const str = ``; let m; if ((m = regex.exec(str)) !== null) { // 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