猿问
急求!!!!正则表达式 [\w|-] 与 (\w|-) 与 (?:\w|-) 什么区别呢求指导!
正则表达式[\w|-]与(\w|-)与(?:\w|-)什么区别呢
千巷猫影
浏览 833
回答 2
2回答
杨__羊羊
\w:匹配字母或数字或下划线[]:匹配中包含在其中得字符[\w|-]:就是匹配“字母或数字或下划线”“|”“-”():分组,js中第一个()为$1,第二个()为$2,以此类推,最多9个(\w|-):将匹配到得“字母或数字或下划线”“|”“-”放入一组(?:):不捕获,与()相反,也就是不放入组中
0
0
0
互换的青春
[\w|-]会匹配字符|,所以你想问的是[\w-]吧简单使用来说,这三种写法匹配到的结果是一样的,但是写法上[]是单字符匹配,他不能匹配多个多字符单词之间的或关系,而后面两个可以做到,但是[]可以加个^做排除,后面两个就不可以,否定预检加|可以做排除,但是要注意兼容性(test(?!12|34|56)")(\w|-)是分组的意思,可以获取匹配的结果,这在某些方面非常实用,比如split、replace等,与之相反的就是(?:\w|-),意为不获取匹配结果,用的很少。
0
0
0
随时随地看视频
慕课网APP
相关分类
JavaScript
我要回答