正则表达式排除特定的子域(Java)

时间:2015-06-17 10:38:51

标签: java regex

我想从正则表达式中排除特定的子域名。 我搜索并尝试了不同的正则表达式。但是没有为我工作。

正常的正则表达式如下所示:

https?:\/\/((localhost(\:\d+)?)|([a-z\-\.]*\.)?(gaga.ch|gugus.ch))

要在gugus.ch中排除名称为 admin 的子域名,我添加了:(^(?!.*admin).*) 所以整个正则表达式看起来像:

https?:\/\/((localhost(\:\d+)?)|([a-z\-\.]*\.)?(gaga.ch|(^(?!.*admin).*)gugus.ch))

所以它应该通过http://www.gugus.ch 但不是http://admin.gugus.ch

这不起作用。我做错了什么?

迈克先生

1 个答案:

答案 0 :(得分:0)

试试这个正则表达式:

https?://((localhost(:\d+)?)|([a-z.-]*\.)?(gaga\.ch|(?<!\badmin\.)gugus\.ch)
如果(?<!\badmin\.)前面有gugus.ch

admin.负面反对以使比赛失败