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

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

/
/
gm

Test String

Code Generator

Generated Code

package main import ( "regexp" "fmt" ) func main() { var re = regexp.MustCompile(`(?m)^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\w!@#$%]{6,}$`) var str = `INVALID: abcdefg abc abcdefghji abCDEFghij 1234efghij abcde6789 ab!67fghij ab)= VALID: 8vB0k3XiLp VvsfM5he#X d10STfJ$gA R1cIX7mn8T 6EDNTbda%z IKkED0#zYS 1S#9duFcHe KP1fN3jTwJ iRS1YB@nfI Vp1yRxwuGD fajT2ukURg 9tY8#HkojR @LHTbA3C7J %HLK6EqANV #vZR6in5KJ !WwjH3K65v %5WOIrCv@R emfpLRE5oD zREw13rcJn #NU42oxYa0 $oujwK%xR7 1YH#uOFQlV L936DS2ynR ab4RAVCZHv 9xwiZmDSAd eZjPHg3B8i OANw!p8yxH J6efM@hxNz qvmefZI3Wn fH9wXGK8ZI eHcl3qRYGS i8we0zpOvr 1kpSFgeIKA p8eM@FtZ9n rj95zq!E3I lkDKt@486w 7!j50lyxgB %vBCxLq6Ym @ky$u9iSGm %QD9jA6Lm@ JolTzf7gUr cSRe%v46Or oJVlc#Gdn3 G!%NF0XESp 76dMFmbf%X 3JQlSRiXLj Y$!%WCgti0 D1k$#ThiqG M6tPY$XzQp @gUcrWm7zA 1xc#hwGj0D s8p#S$ZkWP sIP3dQL#4j bBLEnvlFI3 isSeP4AC%w 1OsdI4iCjR @p#qm$NA9Z guPjtIp5!i a84ONQRZXY homJ9T6w80 $!uh09kaUO CTIX7vsalJ 2CASR7IUyY Tr1jl!oKPF 2%ar6kMCZe m4TrLJC!cD 3E#mZ!jrdn oZIa$xmDU8 9wXxBaJAyz 0%dNQfyr$e ez#IcxH8SX MF$m6wile% ilo3FURh9t d71hgGe5Vo KEr9u7CRtP CfUE4Fj$Ju aXSG5wIQor VTk2fmDlbx GHxBwpt0dN mYS2Q1zFi! qD0KiayFz4 hT9FrGQ$dS 5eKrEvnBZA gA$fXPUd2# Eoz8uqBART 7wKEo6jJGX 1p4Zj7Ssk2 K#MX8Q61dr L%S2Kh7Q@r fwD6zy$NM@ zyJPri5u7N MyAI!j2iz% 9blWdD5!w@ iw6Ef3dBLk JMYD1iHol2 #M1OUJ0VDi e@78BCHLI% oeD1F!4ifz pCblno9zyJ FJKErsBTp6` for i, match := range re.FindAllString(str, -1) { fmt.Println(match, "found at index", i) } }

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 Golang, please visit: https://golang.org/pkg/regexp/