正则表达式:以某物开始,以某物结束

时间:2018-07-25 14:49:27

标签: regex url-rewriting

我需要Url重写模块的正则表达式,以这种方式验证网址:

1)spa /-匹配

2)spa / some / url-匹配

3)spa / some-url-匹配

4)spa / some.js-没有匹配项

5)spa / some.css-不匹配

因此,如果网址,则应该匹配 a)以“ spa”开头 b)以“ .js”或“ .css”以外的其他结尾

我要测试的是^(spa /)((?!。js)|(?!。css))$ 但它不起作用。

谢谢,如果重复了,则对不起。

2 个答案:

答案 0 :(得分:1)

尝试此正则表达式:

^spa\/((.+)\/)*.*(?<!\.js|\.css)$

设置了g和m标志。

请注意,此正则表达式允许URL不应该包含的几个字符。我试图保持简单。因此,您可能需要在使用它之前对其进行一些调整。

答案 1 :(得分:0)

您需要negative-lookbehind

尝试一下(您可能需要稍作修改)

^spa.*(?<!(\.js|\.css))$
  • ^spa:以spa开头的字符串
  • .*:后跟任意字符
  • (?<!(\.js|\.css))$:不以.js.css结尾