我的正则表达式有什么问题
这是我第一次尝试使用正则表达式。但是我有一个小问题。 当我在chrome控制台中运行我的正则表达式时,它似乎工作。但是,我的Komodo Edit在以下行显示错误(字符类中的无效范围):
s = s.replace(/([^0-9,-\s])/g,"");
我想只允许这些字符:
0-9
,
-
\s (whitespace)
例如输入:s1,2,3,4 ,5 / #, 7-9"
应该给我:1,2,3,4 ,5 , 7-9
我感谢所有帮助:)
答案 0 :(得分:2)
s = s.replace(/([^0-9,\s-])/g,"");
将-
保持在最后或escape
。-
在字符类中形成一个范围(在这种情况下无效)。
答案 1 :(得分:2)
-
用于选择字符范围。
将-
移至regex
的末尾。
/([^0-9,\s-])/
使用斜杠\
/([^0-9,\-\s])/