- Save Regexctrl+s
- Go to library entry

- PCRE2 (PHP >=7.3)
- PCRE (PHP <7.3)
- ECMAScript (JavaScript)
- Python
- Golang
- Java 8

- Match
- Substitution
- List
- Unit Tests

Sponsor

Jamstack at Scale

/

(( | )*[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?( | )*)

/

1st Capturing Group

(( | )*[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?( | )*)

2nd Capturing Group

( | )*

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data

1st Alternative

matches the character with index 32_{10} (20_{16} or 40_{8}) literally (case sensitive)

2nd Alternative

Match a single character present in the list below

[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]

+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

!#$%&'*+/=?^_`{|}~

matches a single character in the list !#$%&'*+/=?^_`{|}~ (case sensitive)- matches the character - with index 45_{10} (2D_{16} or 55_{8}) literally (case sensitive)

This hyphen is treated literally, which might be confusing for others. Consider escaping it or placing at the start or end of the class!

Non-capturing group

(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

\. matches the character . with index 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

Match a single character present in the list below

[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]

+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

!#$%&'*+/=?^_`{|}~

matches a single character in the list !#$%&'*+/=?^_`{|}~ (case sensitive)- matches the character - with index 45_{10} (2D_{16} or 55_{8}) literally (case sensitive)

This hyphen is treated literally, which might be confusing for others. Consider escaping it or placing at the start or end of the class!

@ matches the character @ with index 64_{10} (40_{16} or 100_{8}) literally (case sensitive)

Non-capturing group

(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+

+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

Match a single character present in the list below

[a-zA-Z0-9]

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

Non-capturing group

(?:[a-zA-Z0-9-]*[a-zA-Z0-9])?

? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

Match a single character present in the list below

[a-zA-Z0-9-]

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

- matches the character - with index 45_{10} (2D_{16} or 55_{8}) literally (case sensitive)

This hyphen is treated literally, which might be confusing for others. Consider escaping it or placing at the start or end of the class!

Match a single character present in the list below

[a-zA-Z0-9]

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

\. matches the character . with index 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

Match a single character present in the list below

[a-zA-Z0-9]

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

Non-capturing group

(?:[a-zA-Z0-9-]*[a-zA-Z0-9])?

? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

Match a single character present in the list below

[a-zA-Z0-9-]

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

Match a single character present in the list below

[a-zA-Z0-9]

a-z matches a single character in the range between a (index 97) and z (index 122) (case sensitive)

A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

3rd Capturing Group

( | )*

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data

1st Alternative

matches the character with index 32_{10} (20_{16} or 40_{8}) literally (case sensitive)

2nd Alternative

Your regular expression does not match the subject string.

No Match

/

/

Please wait while the app is loading...