网址格式
http://www.hepsiburada.com/philips-40pfk5500-40-102-ekran-full-hd-200-hz-uydu-alicili-cift-cekirdek-smart-android-led-tv-p-EVPHI40PFK5500
本网站有类似的网址。此网址的唯一标识符为-p-
。
网址模式之前的网址始终为-p-
。
我使用了以下正则表达式
(.*)hepsiburada\.com\/([\w.-]+)([\-p\-\w+])\Z
它匹配,但它匹配本网站上的许多模式。
例如,正则表达式应匹配上面的url,但它不应与
匹配http://www.hepsiburada.com/bilgisayarlar-c-2147483646
答案 0 :(得分:2)
由于您使用的是re.match
,因此您需要从头开始匹配字符串。但是,主要问题是您的-p-
位于字符类中,因此被视为可以匹配的单独符号。与\w+
相同 - 它分别被视为\w
和+
。
所以,使用序列:
(.*)hepsiburada\.com/([\w.-]+)(-p-\w+)$
或者
^https?://(?:www\.)?hepsiburada\.com/([\w.-]+)(-p-\w+)$
请参阅regex demo
请注意,很可能您甚至不需要捕获组,并且可以从模式中删除(...)
个括号。