2
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

2 Answers2

3

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

Pavneet_Singh
  • 36,884
  • 5
  • 53
  • 68
2

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.

joepd
  • 4,681
  • 2
  • 26
  • 27