如何更改此正则表达式以删除除字母表和'(单引号)之外的字符串中的所有内容?
pattern = /\b(ma?c)?([a-z]+)/ig;
答案 0 :(得分:4)
要删除字符,您需要使用实际执行该操作的字符,例如字符串replace
函数(可以接受正则表达式作为“from”参数)。
然后你只是处理character class的正常应用程序,它在JavaScript(以及大多数其他正则表达式变体)中使用[...]
进行描述,其中...
应该是什么在课堂上。您可以在开头使用^
来反转类的含义:
在您的情况下,可能是:
str = str.replace(/[^A-Za-z']/g, "");
...将取代除英文字符A-Z(ABCDEFGHIJKLMNOPQRSTUVWXYZ),a-z(abcdefghijklmnopqrstuvwxyz),并且单引号中没有任何内容(例如删除它)。
但是,请注意,不会使用英语中未使用的字母字符,并且网络上使用的各种语言中都有很多(甚至是反过来说,用英语,用“借来的”字样,如“voilà”)。