快速回答:这个正则表达式有什么问题?
Quick one: What's wrong with this 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*(?:"[^"]*"|'[^']*')))/;
或this line:
imgTag = imgTag.replace( new RegExp( /((?<!placeholder)'w+(?:'s*='s*(?:"[^"]*"|'[^']*')))/, "gi" ), ' ');
问题在我的正则表达式中,对吧?
我看不见,谁能帮我点灯?
谢谢!
Javascript不支持向后看。你不能这样写:
(?<!placeholder)
使用向前看:
((?!placeholder).{11}|^.{0,10})
您还需要调整您的替换字符串,因为它匹配的是在您想要替换的字符串开始之前的额外字符。
这也不会工作:var regex = new Regexp(/.../, "gi");
改为:var regex = /.../gi;
JavaScript不支持向后看模式。(这是(?< pattern )
部分)
相关文章:
- JavaScript中的正则表达式应该是什么
- 不接受0-0-0的正则表达式是什么
- 这个正则表达式的日期/时间有什么问题
- 匹配某个字符后所有文本的正则表达式是什么
- 什么将是日期格式的正则表达式'dd-M-y'
- 我应该使用什么正则表达式来验证数字模式
- 正则表达式上的重音符号有什么用
- 我的电子邮件正则表达式有什么问题
- 什么'用这个正则表达式查找URL是错误的
- 印地语数字的正则表达式是什么
- 什么是最不坏的正则表达式来拒绝绝对无效的电子邮件地址
- 以下情况的有效正则表达式是什么
- 这个正则表达式我错过了什么
- 什么是用于断开变量可能包含“&”的查询字符串的正则表达式
- 这个正则表达式有什么问题
- 什么正则表达式模式将从包含的外部HTML文本中提取内部HTML
- 什么是用于删除大写字母之间的空格的正则表达式,但在单词之间保留空格
- 在这种情况下,正则表达式中的“[”是什么( 2 个问题)
- 需要使用什么正则表达式将内容插入某些字符的第 n 次出现之间
- 匹配正确字符串的确切正则表达式是什么