【发布时间】:2016-05-25 21:13:00
【问题描述】:
网址格式是
http://www.hepsiburada.com/philips-40pfk5500-40-102-ekran-full-hd-200-hz-uydu-alicili-cift-cekirdek-smart-android-led-tv-p-EVPHI40PFK5500
这个网站有类似的网址。此 url 的唯一标识符是 -p-。
url 模式总是在 url 末尾的单词之前有 -p-。
我使用了以下正则表达式
(.*)hepsiburada\.com\/([\w.-]+)([\-p\-\w+])\Z
它匹配,但它匹配该网站上的许多模式。
例如,正则表达式应该匹配上面的url,但它不应该匹配
http://www.hepsiburada.com/bilgisayarlar-c-2147483646
【问题讨论】:
-
你想提取什么?是“-p”后面的那个词吗?还是要验证 URL?
-
然后从字符类中移出
-p-。使用(.*)hepsiburada\.com/([\w.-]+)(-p-\w+)$(不知道你是否需要捕获组,我想你可以摆脱它们) -
-p-(.+)$怎么样?这将在您的示例中的第一组中给出EVPHI40PFK5500。 -
如果您只想检查一个字符串是否包含
hepsiburada.com和-p-,您可以使用find或index进行检查。 -
你可以使用
(.*)hepsiburada\.com\/(.+)-p-(.+)