[\w-]和[\w]的区别

今天在看zepto源码的时候看到这样一行:

simpleSelectorRE = /^[\w-]*$/,

理解这个正则表达式的时候,不能理解\w--的作用。
我觉得[\w-][\w]是等价的。
于是在zepto.js里我改成:

simpleSelectorRE = /^[\w]*$/,

测试也都能通过。
所以说为什么不写成[\w]...?

阅读 4.9k
2 个回答

\w 包括字母数字下划线,但不包括减号

用python试了一下,\w的确是不包括'-'的

re.findall(r'[\w]+','-asd')
# 打印
# asd
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏