我对 JavaScript 正则表达式中的这行代码感到困惑:
.replace(/[^\w- ]+/g,'')
据我了解,它正在尝试对不属于单词字符类的字符执行替换。但它也是一个范围,因此它必须包括其他范围。我认为也许还有空格字符,但在控制台中运行它似乎并没有取代它。
[^\w] 表示不包含以下字符:a-zA-Z0-9_
这里的范围怎么可能?\w- 从什么开始?
最佳答案
\w-
不是字符范围,因为 \w
不是字符。这里的 -
没有特殊含义,因此 [^\w- ]
匹配除单词字符、文字破折号或空格之外的任何内容。
关于javascript - 正则表达式范围如何与简写语法一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24521562/