正则表达式:选择其他所有

时间:2011-01-01 20:59:39

标签: javascript regex

我想选择不是[a-z0-9 ]

的所有内容

所以如果字符串是:

  

您好!你是007先生的?

然后结果将是:!,?,.

2 个答案:

答案 0 :(得分:2)

在字符类的开头使用^,否定该类:

str.match(/[^a-z0-9 ]/gi)

您还应该添加空格(或\s(空格,制表符......))和修饰符i以使匹配大小写不敏感。

详细了解regular expressions in JavaScriptregular expressions in general

答案 1 :(得分:1)

使用negated character class

[^a-z0-9]

您还需要一个不区分大小写的修饰符,或者使用它:[^a-zA-Z0-9]

请注意,您的预期结果不正确:您错过了空格字符。如果您还想要匹配空格字符,则需要将其包含在字符类中:[^a-zA-Z0-9 ]