我正在寻找与某些网址匹配的正则表达式:
我希望匹配任何网址,除非它们包含单词“Koeln”或者如果它们包含单词“Karneval”(无论它们是否包含Koeln)。
的exaple:
1)http://www.news.com/Report-Deutschland/Panorama/Deutschland/story.html
2)http://www.news.com/Koeln/Karneval/story.html
3)http://www.news.com/Koeln/Koelnaktuell/story.html
1)和2)应匹配。 1)因为它不包括“Koeln”和2)因为它包括“Karneval” 3)不应该匹配,因为它包括“Koeln”但不包括“Karneval”
我使用正面/负面前瞻尝试了许多不同的正则表达式,但到目前为止它们都没有。
我打算用PHP中的preg实现正则表达式。
答案 0 :(得分:0)
不确定这是否是最佳方法,但您可以试一试,看看它是否适合您:
(http://.*?/Karneval.*$|http://www\.news\.com(?!/Koeln).*$)
我基本上只是做了两个表达式...一个匹配Karneval
,一个在/Koeln
之后找不到www.news.com
。
以下是您可以尝试的演示: Regex101 Demo
希望这对你有用,或者至少指出你正确的方向。