JavaScript 正则表达式测试不以属性开头

标签 javascript regex

我正在尝试测试不以特定单词开头的单词字符串,

var content = 'special-src="http://www.link.com" ';
var src = new RegExp(/\b(?!special-)\w*src=*\b/g);
console.log(src.test(content));

这应该安慰一个错误,但事实并非如此。

但是,如果我从正则表达式和内容中删除 - ,结果就很好,所以我猜这是一种逃避问题?

最佳答案

您正在寻找的是负向回顾 (?<!special-) ,不是负向前瞻 (?!special-) 。我已经在 Regex Workbench 中运行了它,但 Javascript 本身并不支持此功能。

这种方法看起来可能有效:http://davidchin.me/blog/simulate-regex-lookbehind-in-javascript/

关于JavaScript 正则表达式测试不以属性开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250994/

相关文章:

javascript - 正则表达式 查找 4 位数字前后的逗号

javascript - ng-repeat 带有数字和日期的多重过滤器

javascript - 更改 jQuery.mmenu 中子菜单标题的 href 属性

python - 将 re 中的 € 符号与 python 匹配

MySQL 电子邮件地址搜索列

javascript - 在输入字段上使用 RegEx 添加和删除验证

javascript - Babel 通过 _this 转换它

javascript - 解析 JSON 树 - Jquery

javascript - 鼠标悬停时旋转

regex - Perl 可选捕获组不起作用?