regexp上的javscript documentation at MDN声明:
\ w匹配包括下划线在内的任何字母数字字符。相当于[A-Za-z0-9 _]
考虑到这一点,为什么我会以这种方式看到一些代码:[\w]
。这只是beiong冗长的坏习惯吗? JavaScript明确指出\w
等同于[A-Za-z0-9_]
。
任何有关官方文件的引用/引用(带链接)都将不胜感激。
答案 0 :(得分:1)
\w
和[\w]
的功能相同。这是“风格”/偏好的问题
但是,有时需要在字符类中使用\w
,例如:
[\w ]* --> "abcd efg hijk" // Matches the whole line
\w* --> "abcd efg hijk" // Matches "abcd"
答案 1 :(得分:1)
每个工具对正则表达式的使用都有不同的解释。在这种情况下,他们都引用相同的。请记住,字符类不会嵌套在某些类型中,因此您需要单独使用POSIX样式的字符类[[:alnum:]_]
或\w
。
但是,是的,这里它们是相同的,IMO只是使用正则表达式的坏习惯。