2017-02-12 5 views
1
https://embed.thatsite.com?id= 
https://embed.thatsite.com/?id= 

Im пытается получить слэш как факультативные перед тем ?id=Дополнительная косая черта в регулярных выражениях

Я попытался

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

Таким образом, завершающим слэш должен быть факультативным перед тем ?id=, потому что embed.thatsite.com изменения как с URL типы. Есть ли способ заставить его работать. Спасибо

+0

вы можете сделать свой '\' 'опциональной помощи?' https://regex101.com/r/ lsqEp6/1 –

+1

Вы консуируете символ запроса '?' с регулярным выражением '?' (нуль-один) - поэтому вам нужны оба :) –

+1

thankyou ребята, вы потрясающий! – Gazi

ответ

2

Вы можете сделать свой / в качестве дополнительного использования ?

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

https?:\/\/embed\. матча http\\embed. или https\\embed. где s является необязательным ?

([^\/]*) матча все, кроме /

\.com\/?\? матча .com и по желанию / и ? характер

id=([0-9]+) матча id= и захватить числовые значения как можно больше

Regex Demo

+0

thankyou очень много также для regex101 сайта I dodnt знаю об этом – Gazi

+0

@Gazi я рад, что я мог помочь, счастливое кодирование –

2

Это должно работать:

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

Здесь слэш изменяется с ? модификатора, который будет соответствовать предыдущему символу (/) 0 или 1 раз.

+0

thankyou so much – Gazi