- Save Regexctrl+s
- Update Regexctrl+⇧+s

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

- Match
- Substitution
- List
- Unit Tests

Sponsor

Jamstack at Scale

/

([A-Z][\w\-]+ )?\((\D*\d{4}(: ?[\d\-]*)*(, \d{4}(: ?[\d\-]*)*)*;?)*\)

/

1st Capturing Group

([A-Z][\w\-]+ )?

? 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-Z]

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

Match a single character present in the list below

[\w\-]

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

\w matches any word character (equivalent to [a-zA-Z0-9_])

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

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

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

2nd Capturing Group

(\D*\d{4}(: ?[\d\-]*)*(, \d{4}(: ?[\d\-]*)*)*;?)*

* 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

\D

matches any character that's not a digit (equivalent to [^0-9])* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

\d

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

3rd Capturing Group

(: ?[\d\-]*)*

* 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

: matches the character : with index 58_{10} (3A_{16} or 72_{8}) literally (case sensitive)

Match a single character present in the list below

[\d\-]

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

\d matches a digit (equivalent to [0-9])

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

4th Capturing Group

(, \d{4}(: ?[\d\-]*)*)*

* 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

,

matches the characters , literally (case sensitive)\d

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

5th Capturing Group

(: ?[\d\-]*)*

: matches the character : with index 58_{10} (3A_{16} or 72_{8}) literally (case sensitive)

Match a single character present in the list below

[\d\-]

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

\d matches a digit (equivalent to [0-9])

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

;

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

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

/

/

Please wait while the app is loading...