Javascript 在RegExp中转义MSWord样式的引号

Javascript 在RegExp中转义MSWord样式的引号,javascript,regex,Javascript,Regex,我需要转换粘贴到文本区域的字符串,这样,如果它们是从MS Word粘贴的,Word喜欢使用的奇怪引号和撇号将转换为常规的单引号和双引号。不幸的是,当我保存时,我的文本编辑器似乎已经转换了这样的引号,所以我创建的任何正则表达式似乎都会出错。像这样的 string = string.replace(new RegExp("“", "g"), '"').replace(new RegExp("”", "g"), '"').replace(new RegExp("’", "g"), "'"); 似乎不

我需要转换粘贴到文本区域的字符串,这样,如果它们是从MS Word粘贴的,Word喜欢使用的奇怪引号和撇号将转换为常规的单引号和双引号。不幸的是,当我保存时,我的文本编辑器似乎已经转换了这样的引号,所以我创建的任何正则表达式似乎都会出错。像这样的

string = string.replace(new RegExp("“", "g"), '"').replace(new RegExp("”", "g"), '"').replace(new RegExp("’", "g"), "'");
似乎不起作用。我甚至不知道它是否能在这里正确发布


如何构造正则表达式以使用所有正则字符查找这些引号?大概是一个逃逸序列?我宁愿避免使用RegExp文字符号,即使创建对象的速度较慢。

尝试获取要删除的字符的ASCII码,并使用它而不是字符本身:

string = string.replace(new RegExp("\xe2\x80\x9c", "g"), '"').replace(new RegExp("\xe2\x80\x9d", "g"), '"').replace(new RegExp("\xe2\x80\x99", "g"), "'");
我使用Notepad++和HexEdit插件来获取代码

编辑: 有关更多详细信息,请参阅。 你的密码应该是希望我没有混淆密码

string = string.replace(new RegExp("\u201c", "g"), '"').replace(new RegExp("\u201d", "g"), '"').replace(new RegExp("\u2019", "g"), "'");

那似乎不起作用。如果我使用charCodeAt进行检查,我会得到8217、8220和8221的十进制数,也就是2019 201C 201D的十六进制数。不知道如何用它来形成正则表达式。