使用此模板匹配URL模式

时间:2018-03-22 14:58:12

标签: regex url

我试图整合一个与某些域模式匹配的RegEx。

它应匹配此模式:

https?://www.domain.com/\*myKeyword\*/, 

但不应该匹配:

https?://www.domain.com/**something/**\*myKeyword\*/ 

顶级域名和关键字之间应该只有一个正斜杠,最后一个斜杠只有一个斜杠。

这是有效的:

https://www.example.com/the-bla-KEYWORD-bla-bla/

但不是这些中的任何一个:

https://www.example.com/join/the-bla-KEYWORD-bla-bla/
https://www.example.com/gift/the-bla-KEYWORD-bla-bla/?coupon=yes
https://www.example.com/user/forgot-password/?next=/the-bla-KEYWORD-bla-bla/

我试过了:

^https?:\/\/.*?\.?example\.com\/.[^\/].*KEYWORD.*\/

但它似乎没有起作用。

1 个答案:

答案 0 :(得分:1)

重复否定的课程,而不是点数:

^https?://.*?\.?example\.com/[^/]*KEYWORD[^/]*/$

demo

[^/]*匹配除/之外的任何字符。除了/之外,我们允许/以外的任何内容,然后KEYWORD以及/以外的任何内容,直到最后/。我们还会添加$以匹配字符串结尾(否则关键字后/的网址将部分匹配)。