正则表达式里的?:是啥意思例如(?:a|b)

如题所述

    匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

    这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。

    .+?表示最小匹配

    举例说明.+?与.+的区别

    <a href="xxx"><span>

    如果用<.+>匹配,则匹配结果是

    <a href="xxx"><span>

    如果用<.+?>匹配,则匹配结果是

    <a href="xxx">

    也就是.+?只要匹配就返回了,不会再接着往下找了

温馨提示:答案为网友推荐,仅供参考
相似回答