新闻中心> 文章详情

南京Java培训机构 正则表达式中加号问号连起来

2015年07月03日

   不加 ? 表示贪婪,加 ? 表示勉强,区别如下:

 

  勉强是从左边一个一个地吃直到匹配为止,不加 ?的是一口吃掉整个字符串,然后从最后一个一个地吐出来直到匹配为止 南京Java培训机构

 

  字符串

 

  a=====b=====b===

 

  a.*b 将匹配满足条件最长的字符串 a=====b=====b

 

  工作方式:

 

  首先将:a=====b=====b=== 全部吃掉,从右边一个一个地吐出来

 

  1. a=====b=====b=== 不匹配,吐出一字符

 

  2. a=====b=====b== 不匹配,再吐出一字符

 

  3. a=====b=====b= 不匹配,再吐出一字符

 

  4. a=====b=====b 匹配了,结束。如果再不匹配继续吐,直到没有字符了,匹配失败

 

  a.*? 将匹配满足条件最短的字符串 a=====b

 

  工作方式:南京Java培训机构

 

  从左边一个一个地吃掉字符

 

  1. a 不能匹配表达式,继续吃

 

  2. a= 不能匹配表达式,继续吃

 

  3. a== 不能匹配表达式,继续吃

 

  4. a=== 不能匹配表达式,继续吃

 

  5. a==== 不能匹配表达式,继续吃

 

  6. a===== 不能匹配表达式,继续吃

 

  7. a=====b 呵呵,终于能匹配表达式了,匹配结束,匹配位置留于字符 b 后面,继续其他的匹配。如果不能匹配则一个一个地吃掉整个字符串直到吃完为止若还没有匹配则匹配失败。

 

  友情提示!

 

  南京Java软件开发培训课程详情请访问:http://www.wanho.net/java


上一篇下一篇
按时发顺丰

技术交流群

Java大数据交流群560819979    加入
Python技术交流群595083299    加入
Oracle技术交流群595119011    加入
Web前端技术交流群604697610    加入
Huawei技术交流群482919361    加入
Redhat技术交流群587875348    加入
UI设计技术交流群511649801    加入
Cisco技术交流群596886705    加入
IT运维技术交流群605888381    加入