正则表达式负向前瞻识别网址

时间:2014-10-15 12:03:14

标签: regex

我有一些我想要匹配的网址。他们总是遵循相同的模式:

name.url.com
name-dev.url.com
name-qa.url.com

按照这种模式我有4个我想识别的组:ALL,LIVE,QA,DEV

ALL非常简单:

^[a-z-_]+\.url\.com$

QA和DEV遵循相同的模式:

^[a-z-_]+dev\.url\.com$
^[a-z-_]+qa\.url\.com$

我所挣扎的是只识别实时网址。我知道它不能用qa或dev作为一个单词。但以下情况并非如此:

^[a-z-_]+(?!dev|qa)\.url\.com$

问题似乎是第一个字符集。我该如何存档?

2 个答案:

答案 0 :(得分:2)

如果可以的话,你可能想在这里使用一个lookbehind断言:

^[a-z-_]+(?<!dev|qa)\.url\.com$

这断言网址的顶级不在devqa之前。 Here's a demo

答案 1 :(得分:0)

^(?:(?!\bdev\b|\bqa\b).)+\.url\.com$

试试这个。看看演示。

http://regex101.com/r/dZ1vT6/20