我正在使用 replace javascript 函数在 Javascript 中进行一些测试。
考虑以下在 node REPL 上执行的示例。
这是一个 replace
,用于从字符串中删除空格、连字符和下划线。
> "call this 9344 5 66 22".replace(/[ _-]/g, '');
'callthis934456622'
这正是我所期待的。只删除空格。
但是看看这个:
> "call this 9344 5 66 22".replace(/[ -_]/g, '');
'callthis'
为什么当我把这个正则表达式组合完全像这样 -_
(空格、连字符、下划线)时,它会删除字符串中的数字?
我做的更多测试:
-
(空格,连字符)不删除数字
_
(空格,下划线)不删除数字
_-
(空格、下划线、连字符)不删除数字
-_
(连字符、下划线、空格)不删除数字
_-
(下划线、连字符、空格)REPL block ??
-_
(空格、连字符、下划线)会删除数字
最佳答案
[ -_]
表示从 space
(ASCII 32) 到 _
(ASCII 95) 的字符,其中包括数字和大写字母。
您正在寻找的是[\-_]
。转义 -
将使其表现得像字符而不是范围的元字符。
关于Javascript 正则表达式 "replace(/[ -_]/g)"删除数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21337438/