匹配除一个主机之外的所有主机,正则表达式

Match all hosts except one, regex

使用正则表达式遇到困难,非常感谢任何帮助!

Traefik + docker-swarm。目标是拥有一项特定的故障恢复服务,该服务应接收主域不多的任何请求。

我尝试了什么:

traefik.frontend.rule=HostRegexp:{all:^((?!mydomain.com).)*$$}

traefik.frontend.rule=HostRegexp:all:^((?!mydomain.com).)*$$

traefik.frontend.rule=HostRegexp:^((?!mydomain.com).)*$$

这应该匹配除 *.mydomain.com 之外对任何主机的所有请求,但它不起作用,我是不是遗漏了什么?

我不熟悉您使用的任何技术,但这适用于 Regex101:

^(.+\.mydomain\.com)$

或者您想要的可能恰恰相反,在 Regex101 上看起来像这样:

^((?!\.mydomain\.com).)*$

请注意,最后一个正则表达式不适用于 golang 风格的正则表达式。这是否有效取决于您使用的技术适用的正则表达式风格。

您可以使用 Regex101 尝试不同的风格。