Java 正则表达式 非贪婪模式
2014-07-21 17:20
337 查看
正则表达式的非贪婪模式。
非贪婪模式在匹配的时候会尽可能少的匹配。
非贪婪模式的表示为 在匹配次数后面加一个? 匹配次数有:* + {m,n}
如 regex = "a*?" ".+?"
在非贪婪模式 要使匹配尽可能少,尽可能短。
正则表达式的贪婪模式则 在匹配时要尽可能的多
如: <div><p>bdxxx</p></div> <div><p>taaaa</p></div>
贪婪模式 正则表达式 : regex="<div>.*</div>"
结果:匹配一次。获取的为 <div><p>bdxxx</p></div>
<div><p>taaaa</p></div>
非贪婪模式 正则表达式 : regex = "<div>.*?</div>"
结果:匹配两次。 两次获取的分别为:<div><p>bdxxx</p></div>
和 <div><p>taaaa</p></div>
非贪婪模式会将匹配尽可能少,在第一次遇到</div>
就完成匹配。进行下一次匹配
而贪婪模式会将是匹配尽可能的多,在第一次遇到</div>后继续向后匹配,
一直找到最后一个</div> 才完成匹配。
非贪婪模式在匹配的时候会尽可能少的匹配。
非贪婪模式的表示为 在匹配次数后面加一个? 匹配次数有:* + {m,n}
如 regex = "a*?" ".+?"
在非贪婪模式 要使匹配尽可能少,尽可能短。
正则表达式的贪婪模式则 在匹配时要尽可能的多
如: <div><p>bdxxx</p></div> <div><p>taaaa</p></div>
贪婪模式 正则表达式 : regex="<div>.*</div>"
结果:匹配一次。获取的为 <div><p>bdxxx</p></div>
<div><p>taaaa</p></div>
非贪婪模式 正则表达式 : regex = "<div>.*?</div>"
结果:匹配两次。 两次获取的分别为:<div><p>bdxxx</p></div>
和 <div><p>taaaa</p></div>
非贪婪模式会将匹配尽可能少,在第一次遇到</div>
就完成匹配。进行下一次匹配
而贪婪模式会将是匹配尽可能的多,在第一次遇到</div>后继续向后匹配,
一直找到最后一个</div> 才完成匹配。
相关文章推荐
- JAVA 正则表达式的三种模式: 贪婪, 勉强和占有的讨论
- [疯狂Java]正则表达式:Java正则表达式语法、贪婪模式/勉强模式
- 正则表达式贪婪模式,单词边界 ,多行模式,子表达式(java版)
- 关于java正则表达式贪婪模式和勉强模式的研究
- Java-----正则表达式匹配模式[贪婪模式、勉强模式、占有模式]
- 正则表达式的最大最小原则(就是懒惰和贪婪定理),java版本
- 正则表达式——贪婪模式与非贪婪模式
- javascript中的正则表达式的贪婪模式和非贪婪模式讲解
- Qt 正则表达式的非贪婪模式
- 正则表达式贪婪模式及最短匹配
- java 正则表达式非贪婪
- 正则表达式中的贪婪与非贪婪匹配模式
- javascript中的正则表达式的贪婪模式和非贪婪模式等若干问题
- 正则表达式的贪婪模式和非贪婪模式,如何取div ,li 标签的循环内容,采集别人网站的内容
- flex中的正则表达式需要注意( 贪婪模式)
- Java中正则表达式、模式匹配与信息抽取
- 关于正则表达式的贪婪与非贪婪模式
- java常用类库续3(比较器Comparable、Comparator、观察者设计模式、正则表达式、定时调度)
- 正则表达式的贪婪与非贪婪模式
- C#正则表达式之贪婪模式