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

正则表达式[\w|-]与(\w|-)与(?:\w|-)什么区别呢
千巷猫影
浏览 833回答 2
2回答

杨__羊羊

\w:匹配字母或数字或下划线[]:匹配中包含在其中得字符[\w|-]:就是匹配“字母或数字或下划线”“|”“-”():分组,js中第一个()为$1,第二个()为$2,以此类推,最多9个(\w|-):将匹配到得“字母或数字或下划线”“|”“-”放入一组(?:):不捕获,与()相反,也就是不放入组中

互换的青春

[\w|-]会匹配字符|,所以你想问的是[\w-]吧简单使用来说,这三种写法匹配到的结果是一样的,但是写法上[]是单字符匹配,他不能匹配多个多字符单词之间的或关系,而后面两个可以做到,但是[]可以加个^做排除,后面两个就不可以,否定预检加|可以做排除,但是要注意兼容性(test(?!12|34|56)")(\w|-)是分组的意思,可以获取匹配的结果,这在某些方面非常实用,比如split、replace等,与之相反的就是(?:\w|-),意为不获取匹配结果,用的很少。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript