在精通正则表达式一中讲到了反向引用,其中的括号就是捕获型括号,它具有分组和捕获的作用,但是,有时候我们需要用到非捕获型括号,比如我已经写好了一个程序,现在我要扩展正则表达式的功能,比如加一个‘(…)?’,这样并没有影响原来的功能而且能匹配比原来跟多的东西,但是,它打乱了原来的组的反向引用顺序,如果恰好这个分组是你用不到的,那么就可以就可以用上非捕获型括号:
(?: )
因为它不用捕获,还能提高匹配效率,但是,这种表示方法确实有点不够美观,会增加整体阅读难度,所以可以根据实际情况取舍。
下面举一个具体的例子来说明非捕获型括号:
这是正常的匹配:
这是非捕获型括号的匹配:
本文介绍了正则表达式中的非捕获型括号,解释了其与捕获型括号的区别,并通过实例展示了如何使用非捕获型括号来提高匹配效率,同时避免扰乱原有的反向引用顺序。
558

被折叠的 条评论
为什么被折叠?



