在我的JavaScript文件中,我有一个变量,它取值如下
stringToBeReplaced = input[name='Wanna Be Startin' Somethin'']
stringToBeReplaced = input[name='They Don't Care About Us']
stringToBeReplaced = input[name='Workin' Day & Night']
模式总是像input[name='*']
,*可以是任何东西。
我想要实现的只是逃避*字段中出现的单引号和&符号('&)而不使用regex replace转义封闭的单引号。
到目前为止,我已经形成的正则表达式如下,还有待处理的是忽略上述模式中的第一个单引号。即单引号前面带有= sign
stringToBeReplaced.replace(/((['&])(?!\]))/g,'\\$1'));
非常感谢任何帮助。
答案 0 :(得分:0)
您可以尝试这样:
(?<!=)(['&])(?!])
(?<!=)
=
(['&])
在字符类中选择所需的字符并在组中捕获
(?!])
关闭]
替换为:
\
和已捕获的小组
演示: