1

我正在尝试使用 javascript 正则表达式函数替换符号。我找不到替换单引号的方法。我使用的代码是.replace(/([.?*&+^$[\]\\(){}|-])/g, "");

如何在其中添加单引号转义?

4

4 回答 4

0

只需'在字符类的末尾添加,它将被删除。由于破折号,它会引发错误-。它试图定义一个范围(你可以这样做[A-Z],但当然|-'没有意义)。因此,您的最终正则表达式:.replace(/([.?*&+^$[\]\\(){}|\-'])/g, ""); Is 转义破折号,使其成为文字破折号而不是范围字符。

于 2012-08-22T09:27:17.733 回答
0

我建议您通过转义要替换的任何字符来创建正确的正则表达式。这样您就可以毫无困难地将任何字符添加到此列表中。

这将给出简单的命令,如:

.replace(/([\.\?\*\&\+\^\$\[\]\\\(\)\{\}\|\-\'])/g, "")

希望这可以帮助

于 2012-08-22T09:30:02.687 回答
0

反转表达式可能更容易,并突出显示所有不是有效字符的内容。

string.replace(/([^a-zA-Z0-9])/, '');

在字符映射的开头添加 ^ 会反转字符类。所以这将删除任何非字母数字字符。

于 2012-08-22T09:31:47.940 回答
0

添加'到括号表达式的开头:

.replace(/(['.?*&+^$[\]\\(){}|-])/g, "");
于 2012-08-22T09:26:02.297 回答