如果字符串以“files /”开头和/或以“.js”结尾,我该如何测试?
示例:
到目前为止,我有这个正则表达式:(^(?!files\/)).*?((?!\.js)$)
这适用于“files /”但不适用于“.js”。
修改 很抱歉对于这个误会。如果字符串不以“files /”开头且不以“.js”结尾,则字符串应该匹配。
答案 0 :(得分:3)
你的最后一个消极情绪应该是看看背后的未来,在测试时你已经阅读了.js
^(?!files\/).*(?<!\.js)$
答案 1 :(得分:2)
这是一个正则表达式,可以满足您的需求。
(^(?!files\/)).*((?!\.js).{3}$)
你正在检查最后一个角色前面是否有“.js”,这总是正确的。
答案 2 :(得分:1)
!/^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') -> true
答案 3 :(得分:1)
var re = /^files\/.*|.*\.js$/;
alert(re.test('your-strings'));
修改强>
不用担心,只是反转结果:
var re = /^files\/.*|.*\.js$/;
alert(!re.test('your-strings'));
答案 4 :(得分:1)
您可以使用此正则表达式
^(files/.*|.*\.js)$
由于您不希望字符串结束或以文件和/或j开头,请使用上面的正则表达式并执行此操作
if(/*regex matches the string*/)
{
//you dont need this string
}
else
{
//you do need this string
}