Java认证
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 下一页 上一页 首页 尾页

Java认证


返回 刷新 WAP首页 网页版 登录
05/03 14:06