我试图测试不以特定单词开头的单词字符串,
var content = 'special-src="http://www.link.com" ';
var src = new RegExp(/\b(?!special-)\w*src=*\b/g);
console.log(src.test(content));
这应该是假的,但不是。
但是,如果我从正则表达式和内容中删除 - 结果很好,所以我猜这是一种逃避问题?
答案 0 :(得分:1)
您正在寻找的是负面的后视(?<!special-)
,而不是负面的预测(?!special-)
。我已经在Regex Workbench中使用了它,但是Javascript本身并不支持它。
这种方法看似可行:http://davidchin.me/blog/simulate-regex-lookbehind-in-javascript/
答案 1 :(得分:0)
尝试:
var content = 'special-src="http://www.link.com" ';
var src = /^(?!special\-)\w*src=.*$/g;
console.log(src.test(content));
<强>更新强>
表达式中有错误,应该是!?而不是?!。正确的代码是
var content = 'special-src="http://www.link.com" ';
var src = /^(!?special\-)\w*src=.*$/g;
console.log(src.test(content));