正则表达式替换JavaScript,用于转义用单引号括起来的特殊字符

时间:2017-01-26 04:52:41

标签: javascript regex

在我的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'));

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样:

(?<!=)(['&])(?!])

(?<!=) =

背后的负面看法

(['&])在字符类中选择所需的字符并在组中捕获

(?!])关闭]

的负面展望

替换为:

\和已捕获的小组

演示:

https://regex101.com/r/CQbwtF/5