RegEx表示任何不是 - 或任何单词字符的内容

时间:2010-11-02 17:00:23

标签: javascript regex

对于任何不是-或任何单词字符的内容,javascript RegExp会是什么?我试过[^-\w],但是我收到了控制台错误。有什么想法吗?

4 个答案:

答案 0 :(得分:4)

你把它放在正斜杠中吗?

var rex = /[^\w-]/;

在所有测试的浏览器中都适用于我。 (注意:我把 - 最后作为一个好习惯,所以它永远不会与范围令牌混淆。)

答案 1 :(得分:1)

-是字符类中的特殊字符,表示字符范围。它应该被转义为文字“ - ”。因此,如果不匹配单词和-,请使用:

/[^\w\-]/

答案 2 :(得分:0)

在您最喜欢的js控制台中尝试以下内容

/[-\w]/.test('-')
/[-\w]/.test('word')
/[-\w]/.test('-w')

答案 3 :(得分:0)

我相信你有正确的正则表达式 - 只记得用斜杠括起来:/ [^ - \ w] /:

"-".match(/[^-\w]/)
null
"a".match(/[^-\w]/)
null
"0".match(/[^-\w]/)
null
" ".match(/[^-\w]/)
[" "]