排除网址正则表达式

时间:2015-12-10 12:03:34

标签: regex

正则表达式是否有办法从特定域中排除某些网址值?

我想排除/并说出/subdomaine1/...

这适用于subdomaine:\/(?!subdomaine1).*,但我无法弄清楚如何用它排除索引/主页)。 例如:

domaine.com/ => false(这是主页)

domaine.com/aaa => true

domaine.com/subdomaine1 => false

domaine.com/subdomaine1/a => false

3 个答案:

答案 0 :(得分:1)

这似乎有效,如果我正确理解您的要求:

/^domaine\.com(?!\/$|\/subdomaine1).+$/

https://regex101.com/r/iT4gM7/3

答案 1 :(得分:1)

您的语言似乎允许负面前瞻。如果你想做的只是匹配:“domaine.com/”你可以这样做:

 domaine\.com\/(?!subdomaine1).+

[Live Example]

答案 2 :(得分:1)

如果您想确定有子域名,那么您可以添加额外的正向前瞻。这可以拼写为:domaine.com/之后不应该有subdomaine1但是应该有一些单词字符:

^domaine\.com\/(?!subdomaine1)(?=\w).*$

https://regex101.com/r/iT4gM7/5

这可以优化使用+代替前瞻,但它变得与@ Jonathan的答案完全相同。但我会把它留给教育目的。