/(^|[^\\])"/g
使用上面的JavaScript正则表达式,它只能匹配“如果没有\”。这可以正常工作,但选择的一个字符过多。
因此,如果我有字符串A“ B,它正在选择A”,但应该只选择“”。
如果我有A \“ B-则没有选择任何内容(正确)。
但是如果我有A“ B,则应该只选择”“。
最佳答案
(^|[^\\])"
您可以使用它并用
$1/"
替换。因为javascript没有向后看,您必须用$1
替换"
之前捕获的所有内容。[^\\]
捕获此单个字符See demo
var re = /(^|[^\\])"/g;
var str = 'A\"B\nA"B,\n';
var subst = '$1/"';
var result = str.replace(re, subst);
关于javascript - 正则表达式-错误地选择了其他字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37677694/