js中正则表达式中的?:什么意思。好像没有什么用处

如题所述

    如果用在(  )中最开头的地方,即: (?:xxxxx)   只是将()中的内容分组【一般括号后面有*或+等修饰】, 不进行捕获(也就是不将括号中的内容保存在  \1 、 \2这样的变量中)。

    其他地方——?可以修饰?之前的字符,表示可选,前面的字符存在或不存在都能匹配,

    比如(wo)?man    ——可以匹配man和woman。而冒号匹配冒号本身。

    例如:says?: \w  可以匹配

    He [says: H]ello!       或   I [say: H]ello!        #注:匹配[]中的内容

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-23
非提取组,可以指定一个特定字符串,重复多少次等
第2个回答  2015-06-24
有用的,可以减少使用组,提高效率
相似回答