- 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

/

^(1?)(?:((\s?\(\d{3}\)\s?|\s?\d{3}\s?)\-?\d{3}\s?\-?\d{4}$))

/

gm

^ asserts position at start of a line

1st Capturing Group

(1?)

1

matches the character 1 with index 49Non-capturing group

(?:((\s?\(\d{3}\)\s?|\s?\d{3}\s?)\-?\d{3}\s?\-?\d{4}$))

2nd Capturing Group

((\s?\(\d{3}\)\s?|\s?\d{3}\s?)\-?\d{3}\s?\-?\d{4}$)

3rd Capturing Group

(\s?\(\d{3}\)\s?|\s?\d{3}\s?)

1st Alternative

\s?\(\d{3}\)\s?

\s

matches any whitespace character (equivalent to [\r\n\t\f\v ])? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

\( matches the character ( with index 40_{10} (28_{16} or 50_{8}) literally (case sensitive)

\d

matches a digit (equivalent to [0-9]){3} matches the previous token exactly 3 times

\) matches the character ) with index 41_{10} (29_{16} or 51_{8}) literally (case sensitive)

\s

matches any whitespace character (equivalent to [\r\n\t\f\v ])? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

2nd Alternative

\s?\d{3}\s?

\s

matches any whitespace character (equivalent to [\r\n\t\f\v ])? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

\d

matches a digit (equivalent to [0-9]){3} matches the previous token exactly 3 times

\s

matches any whitespace character (equivalent to [\r\n\t\f\v ])\-

matches the character - with index 45\d

matches a digit (equivalent to [0-9]){3} matches the previous token exactly 3 times

\s

matches any whitespace character (equivalent to [\r\n\t\f\v ])\-

matches the character - with index 45\d

matches a digit (equivalent to [0-9]){4} matches the previous token exactly 4 times

$ asserts position at the end of a line

Global pattern flags

g modifier: **g**lobal. All matches (don't return after first match)

m modifier: **m**ulti line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)

Your regular expression does not match the subject string.Try launching the debugger to find out why.

/

/

gm

Please wait while the app is loading...