user5247236
user5247236

Reputation:

Optional trailing slash in regex

https://embed.thatsite.com?id=
https://embed.thatsite.com/?id=

Im trying to get the trailing slash as optional before ?id=

I tried

https?:\/\/embed\.([^\/]*)\.com\/\?id=([0-9]+) //works with slash only
https:\/\/embed\.([^\/]*)\.com\?id=([0-9]+) //works without slash

So, trailing slash should be optional before ?id= because embed.thatsite.com changes with both url types.Is there any way to make it working.Thankyou

Upvotes: 3

Views: 5943

Answers (2)

Pavneet_Singh
Pavneet_Singh

Reputation: 37414

You can make your / as optional using ?

https?:\/\/embed\.([^\/]*)\.com\/?\?id=([0-9]+)

https?:\/\/embed\. match http\\embed. or https\\embed. where s is optional ?

([^\/]*) match everything except /

\.com\/?\? match .com and optional / and ? character

id=([0-9]+) match id= and capture numeric values as many as possible

Regex Demo

Upvotes: 4

joepd
joepd

Reputation: 4841

This should work:

https?:\/\/embed\.([^\/]*)\.com\/?\?id=([0-9]+)

Here, the slash is changed with a ? modifier, which will match the previous character (/) 0 or 1 times.

Upvotes: 2

Related Questions