Java正则表达式中的Possessive数量修饰词的理解
日期:2013-10-22 11:30
正则表达式对于数量限定符如 ?, + , *, {n, m} 的匹配默认是贪婪模式,比如:
a.*b 匹配 acbab 的结果是 acbab 而不是acb
正则表达式支持懒惰模式,也就是在数量限定符后加一个数量修饰词(quantifier),用问号表示, 比如:
a.*?b 匹配 acbab 的结果是 acb 而不是acbab
而Java语言在正则表达式中支持一种Possessive 数量修饰词 ,用加号表示。其字面意思是像贪婪模式一样匹配,但不回溯。这到底是什么意思呢?其实这和匹配算法相关,比如:
在贪婪模式下,正则表达式 a.*b 在匹配 acbac时,在匹配成功第一个字
1/3 下一页 上一页 首页 尾页
返回
刷新
WAP首页
网页版
登录
05/03 14:06