为了账号安全,请及时绑定邮箱和手机立即绑定

急求!!!!正则表达式 [\w|-] 与 (\w|-) 与 (?:\w|-) 什么区别呢求指导!

急求!!!!正则表达式 [\w|-] 与 (\w|-) 与 (?:\w|-) 什么区别呢求指导!

千巷猫影 2019-10-25 23:27:23
正则表达式[\w|-]与(\w|-)与(?:\w|-)什么区别呢
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

\w:匹配字母或数字或下划线[]:匹配中包含在其中得字符[\w|-]:就是匹配“字母或数字或下划线”“|”“-”():分组,js中第一个()为$1,第二个()为$2,以此类推,最多9个(\w|-):将匹配到得“字母或数字或下划线”“|”“-”放入一组(?:):不捕获,与()相反,也就是不放入组中
                            
查看完整回答
反对 回复 2019-10-25
?
互换的青春

TA贡献1797条经验 获得超6个赞

[\w|-]会匹配字符|,所以你想问的是[\w-]吧
简单使用来说,这三种写法匹配到的结果是一样的,但是写法上[]是单字符匹配,他不能匹配多个多字符单词之间的或关系,而后面两个可以做到,但是[]可以加个^做排除,后面两个就不可以,否定预检加|可以做排除,但是要注意兼容性(test(?!12|34|56)")
(\w|-)是分组的意思,可以获取匹配的结果,这在某些方面非常实用,比如split、replace等,与之相反的就是(?:\w|-),意为不获取匹配结果,用的很少。
                            
查看完整回答
反对 回复 2019-10-25
  • 2 回答
  • 0 关注
  • 832 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号