正则表达式中的(?:)的作用?

[复制链接]
查看11 | 回复2 | 2011-8-24 04:30:59 | 显示全部楼层 |阅读模式
我目前看出的唯一区别就是这个正则,就是不能捕获到组号,其他好像没什么用处?比如正则idet(?:0|1)和正则idet(0|1)效果是一样的,前者没有组号,后则有,是这个区别吗?两者都达到一样的效果,是不是前者写性能好点啊?
回复

使用道具 举报

千问 | 2011-8-24 04:30:59 | 显示全部楼层
你理解正确,就是这样。前者性能好,不用保存扫描结果,所以大家都用前者。但如果要对匹配项做后续处理,就要用后者。
回复

使用道具 举报

千问 | 2011-8-24 04:30:59 | 显示全部楼层
前者匹配的部分无法在次使用,可能就是你说的组号。后者是可以被引用的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行