匹配不以以下开头或结尾的字符串

and*_*oid 1 regex

如果字符串以“files/”开头和/或以“.js”结尾,如何测试它?

例子:

  • 测试/test2/test.html --> true
  • 文件/test2/test.html --> false
  • 测试/test2/test.js --> false
  • 文件/test2/test .js --> false

到目前为止我有这个正则表达式:(^(?!files\/)).*?((?!\.js)$)

这适用于“files/”,但不适用于“.js”。

编辑: 抱歉造成误解。仅当字符串不以“files/”开头且不以“.js”结尾时,该字符串才应匹配。

Bob*_*ale 5

你最后的负面结果应该是向后看而不是向前看,在测试时你已经阅读了.js

^(?!files\/).*(?<!\.js)$
Run Code Online (Sandbox Code Playgroud)