正则表达式删除除字母和'[单引号]之外的任何内容

时间:2012-02-19 14:16:08

标签: javascript regex

如何更改此正则表达式以删除除字母表和'(单引号)之外的字符串中的所有内容?

pattern = /\b(ma?c)?([a-z]+)/ig;
  1. 此模式删除不需要的空格并将第一个字母大写并将其余字母转换为小写
  2. 字母是指英文字母a-z。

1 个答案:

答案 0 :(得分:4)

删除字符,您需要使用实际执行该操作的字符,例如字符串replace函数(可以接受正则表达式作为“from”参数)。

然后你只是处理character class的正常应用程序,它在JavaScript(以及大多数其他正则表达式变体)中使用[...]进行描述,其中...应该是什么在课堂上。您可以在开头使用^来反转类的含义:

在您的情况下,可能是:

str = str.replace(/[^A-Za-z']/g, "");

...将取代英文字符A-Z(ABCDEFGHIJKLMNOPQRSTUVWXYZ),a-z(abcdefghijklmnopqrstuvwxyz),并且单引号中没有任何内容(例如删除它)。

但是,请注意,不会使用英语中未使用的字母字符,并且网络上使用的各种语言中都有很多(甚至是反过来说,用英语,用“借来的”字样,如“voilà”)。