如果字符串以“file/”开头和/或以".js“结尾,那么如何测试它?
示例:
到目前为止,我有一个正则表达式:(^(?!files\/)).*?((?!\.js)$)
这适用于“file/”,但不适用于".js“。
编辑:对不起,误解了。只有当字符串不以“file/”开头且不以".js“结尾时,该字符串才应该匹配。
发布于 2012-10-16 17:19:24
最后一次阴性应该是在后面看,而不是在前面看,在测试的时候,您已经阅读了.js
^(?!files\/).*(?<!\.js)$发布于 2012-10-16 17:19:34
这是一个能满足你需要的正则表达式。
(^(?!files\/)).*((?!\.js).{3}$)您正在检查最后一个字符是否前面没有".js“,这始终是正确的。
发布于 2012-10-16 16:56:12
!/^files\/|\.js$/.test('files/test2/test.js') -> false
!/^files\/|\.js$/.test('files/test2/test.html') -> false
!/^files\/|\.js$/.test('test/test2/test.js') -> false
!/^files\/|\.js$/.test('test/test2/test.html') -> truehttps://stackoverflow.com/questions/12919628
复制相似问题