Regex:匹配除字符串之外的所有内容

时间:2012-12-30 12:46:13

标签: regex .htaccess mod-rewrite

我有正则表达式

^(.)+?domain\.com

哪个机器

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)。它应该是一个有效的子域。完成这项工作的正确正则表达是什么?

更新了问题以澄清要求。

3 个答案:

答案 0 :(得分:5)

此模式will do it

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

答案 1 :(得分:2)

实际上它也会匹配otherdomain.com。更好的方法可能是允许零点或一次出现非点+点:

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

根据评论中的建议,要允许多个级别的子域,请将?更改为*

答案 2 :(得分:0)

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

^(.*\.)?domain.com&