当前位置: 代码迷 >> J2EE >> 正则表达式里 .三个合起来啥意思啊该如何解决
  详细解决方案

正则表达式里 .三个合起来啥意思啊该如何解决

热度:32   发布时间:2016-04-17 23:33:21.0
正则表达式里 .*?三个合起来啥意思啊
.代表任意一个字符      *零次或多次   ?代表一次或一次也没有    还有   .*?这三个合起来代表啥啊 

------解决思路----------------------
* 匹配前面的子表达式零次或多次;
. 匹配除换行符 \n之外的任何单字符;
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。

.* 很简单,就是一个字符循环0次或者很多次
多一个?在后面,意思是 懒惰循环
举一个例子你就明白了
对于字符串  aaaaaaa
a*   一下子很勤劳的把整个字符串都匹配完了,结果是  
aaaaaaa

a*? 很懒,发现匹配字符串中一个a后,就完成了匹配,就不用再继续尝试下去了,因此就第一次只匹配
a,然后进行第二轮匹配了,还是只吃一个a就结束。因为他懒嘛