- 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

"

^http[s]?:\/\/\w+(\.\w+)*(:[0-9]+)?\/?(\/[.\S]*)*$

"

gm

^ asserts position at start of a line

http

matches the characters http literally (case sensitive)Match a single character present in the list below

[s]

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

s matches the character s with index 115_{10} (73_{16} or 163_{8}) literally (case sensitive)

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

\/ matches the character / with index 47_{10} (2F_{16} or 57_{8}) literally (case sensitive)

\/ matches the character / with index 47_{10} (2F_{16} or 57_{8}) literally (case sensitive)

\w

matches any word character (equivalent to [a-zA-Z0-9_])+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

1st Capturing Group

(\.\w+)*

* 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 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

\w

matches any word character (equivalent to [a-zA-Z0-9_])+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

2nd Capturing Group

(:[0-9]+)?

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

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

Match a single character present in the list below

[0-9]

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

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

\/

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

3rd Capturing Group

(\/[.\S]*)*

* 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 47_{10} (2F_{16} or 57_{8}) literally (case sensitive)

Match a single character present in the list below

[.\S]

* 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)

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

$ 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.

No Match

r"

"

gm

Please wait while the app is loading...