javascript - 快一: What's wrong with this RegEx?

标签 javascript regex

我有这段代码:

_regex = /((?<!placeholder)\w+(?:\s*=\s*(?:"[^"]*"|'[^']*')))/;     
imgTag = imgTag.replaceAll(_regex, ' ');

也尝试过这个代替:

imgTag = imgTag.replace( new RegExp( /((?<!placeholder)\w+(?:\s*=\s*(?:"[^"]*"|'[^']*')))/, "gi" ), ' ');

但是我的代码永远不会通过行:

_regex = /((?<!placeholder)\w+(?:\s*=\s*(?:"[^"]*"|'[^']*')))/;     

或者这一行:

imgTag = imgTag.replace( new RegExp( /((?<!placeholder)\w+(?:\s*=\s*(?:"[^"]*"|'[^']*')))/, "gi" ), ' ');

所以问题出在我的正则表达式中,对吧?

我看不到,谁能帮我看一下吗?

谢谢!

最佳答案

Javascript 不支持lookbehinds。你不能这样写:

(?<!placeholder)

改用前瞻:

((?!placeholder).{11}|^.{0,10})

您还需要调整替换字符串,因为这会匹配您要替换的内容开始之前的额外字符。


这也是行不通的:var regex = new Regexp(/.../, "gi");

改为这样写:var regex =/.../gi;

关于javascript - 快一: What's wrong with this RegEx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718521/

相关文章:

javascript - 我不明白 Flux 中 Dispatcher.js 的一些语法

javascript - 获取 .js 文件中的脚本以加载到 HTML 中

PHP 数组来回显我可以访问的 javascript 数组?

尝试匹配 URL 的 JavaScript 正则表达式语法错误会导致意外标记 ^

javascript - 使用 Javascript 进行磁盘文本处理

javascript - Ember 入门

javascript - 我怎样才能在模态(bootstrap)中获得元素宽度/高度

javascript - 使用正则表达式从 JavaScript 中的 URL 中删除 utm_* 参数

c++ - 为什么我的正则表达式会导致无限循环?

javascript - 有人可以给我一个示例 JavaScript RegEx 来使输入的 2 个重复字符无效吗