Regular Expressions 101

Community Patterns

Simple but powerful email

1

Regular Expression
ECMAScript (JavaScript)

/
^[a-z0-9]+(?:[.\-_'+][a-z0-9]+)*@([a-z0-9]+(?:[-][a-z0-9]+)*\.)+[a-z]{2,}$
/
igm

Description

"/" - start of regular expression "^" - anchor to beginning of string

Group: [a-z0-9]+ "[a-z0-9]" - Latin character or digit "+" - occurring ONE or more times

Group: (?:[.-][a-z0-9]+)* "(" - start of group "?:[.-_'+][a-z0-9]" - first character of group is allowed to be single character "." OR "-", followed by Latin character or digit "+" - occurring ONE or more times ")" - end of group "*" - group occurs ZERO or more times

"@" - mandatory single at sign

Second-level domain group and below: ([a-z0-9]+(?:[-][a-z0-9]+).)+ "(" - start groups "[a-z0-9]" - Latin character or digit "+" - occurring one or more times "(" - beginning of subgroup "?:[-][a-z0-9]" - single hyphen mandatory for subgroup, followed by Latin character or digit "+" - one or more times ")" - end of subgroup "" - subgroup occurs ZERO or more times "." - mandatory single dot ")" - end of group "+" - occurring ONE or more times

Top-level domain group: [a-z]{2,}$ "[a-z]" - Latin character "{2,}" - occurring TWO or more times

"$" - anchor to end of line "/" - end of regular expression "i" - expression case-insensitive flag (makes ranges [a-z] and [a-zA-Z] equivalent)

"gm" - only for success validation multiline in Test string section, these flags not needed in checking once string value

Submitted by Diableros [https://github.com/Diableros] - 20 days ago (Last modified 20 days ago)