2012-12-30 111 views
1

我已经得到了正则表达式正则表达式:匹配以外的所有字符串

^(.)+?domain\.com 

这machtes

www.domain.com or 
domain.com or 
something.domain.com but 
.domain.com too. 

我要的是“过滤掉”的“.domain.com”的可能性。它应该匹配[something] .domain.com和domain.com,但不匹配.domain.com。 (或..domain.com)。它应该是一个有效的子域。什么是正确的正则表达式来完成这件事?

更新了问题以澄清要求。

回答

5

这种模式will do it

^([^.]+\.)*domain\.com 
+0

非常感谢 - 完美!正是我想要的。我会尽快接受。 – Andy

+0

这仍然允许例如'many.parts.domain.com',甚至是'..domain.com'。由你决定是否可取。 – tripleee

+0

@tripleee我相信'many.parts.domain.com'完全可以接受。 '..domain.com' _does_感觉不对。 –

2

实际上它会匹配otherdomain.com了。一个更好的办法可能是允许零个或一个非点+点:

^([^.]+\.)?domain.com$ 

正如评论所说,允许子域的多层次,改变?*

+2

我建议'*'代替'?'。 –

0

这将允许多个子域和域本身

^(.*\.)?domain.com& 
相关问题