- 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

/

^(\d+(-\d+)?)(,(\d+(-\d+)?))*$

/

^ asserts position at start of the string

1st Capturing Group

(\d+(-\d+)?)

\d

matches a digit (equivalent to [0-9])+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

2nd Capturing Group

(-\d+)?

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

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

\d

matches a digit (equivalent to [0-9])+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

3rd Capturing Group

(,(\d+(-\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 44_{10} (2C_{16} or 54_{8}) literally (case sensitive)

4th Capturing Group

(\d+(-\d+)?)

\d

matches a digit (equivalent to [0-9])+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

5th Capturing Group

(-\d+)?

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

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

\d

matches a digit (equivalent to [0-9])$ asserts position at the end of the string

Your regular expression does not match the subject string.

No Match

/

/

Please wait while the app is loading...