我正在尝试使用javascript正则表达式函数替换符号。我找不到替换单引号的方法。
我使用的代码是.replace(/([.?*&+^$[\]\\(){}|-])/g, "");
如何将单引号转义添加到此处?
答案 0 :(得分:0)
将'
添加到括号表达式的开头:
.replace(/(['.?*&+^$[\]\\(){}|-])/g, "");
答案 1 :(得分:0)
只需在字符类的末尾添加'
,它就会被删除。由于短划线-
,它会引发错误。它试图定义一个范围(你可以做[A-Z]
但当然|-'
没有意义)。所以你的最终正则表达式:.replace(/([.?*&+^$[\]\\(){}|\-'])/g, "");
逃脱破折号使其成为文字破折号,而不是范围字符。
答案 2 :(得分:0)
我建议您通过转义要替换的任何字符来创建正确的正则表达式。通过这种方式,您可以毫无困难地将任何字符添加到此列表中。
这会给出简单的命令,如:
.replace(/([\.\?\*\&\+\^\$\[\]\\\(\)\{\}\|\-\'])/g, "")
希望这有帮助
答案 3 :(得分:0)
反转表达式可能更容易,并突出显示不是有效字符的所有内容。
string.replace(/([^a-zA-Z0-9])/, '');
在字符映射的开头添加^会反转字符类。因此,这将删除任何非字母数字字符。