Java正则中的Greedy、Reluctant 、Possessive qualifier
来源:互联网 发布:webshell密码暴力破解 编辑:程序博客网 时间:2024/05/30 05:17
我们平时经常使用的正则表达式默认情况下基本都是Greedy模式,也就是贪吃模式,java中看下表
也就是说对于 abcd123这个原始文本来说 .*3 是可以匹配的,因为点可以匹配任何字符,*表示可以匹配0次或者多次,全部吃入abcd123发现.*匹配了,但是后面有个3却无法匹配,因此就回溯一个字符,也就是.*只匹配abcd12 刚好整个表达式可以匹配。这就是贪吃,可以回溯。
与Greedy相类似的还有一个Possessive
它和greedy类似,也是全部吃入,但是唯一不同的是它不回溯,所以对于上面的abcd123这个例子,.*+3是不匹配的。
对于Reluctant 来说,就是Greedy的一个相反的匹配模式,他从左到有一个一个开始匹配,而不是整个字符串一个一个回溯。
同样对于上面这个例子,abcd123, 用.*?3 也是匹配的,因为从左到右,一个一个看只有全部才能匹配,而对于 模式.+?来说,只匹配最左边的a字符,如果.*?意味着没有匹配任何字符。
原文:
http://blog.csdn.net/lovingprince/article/details/8813501
http://www.newsmth.net/bbsanc.php?path=%2Fgroups%2Fcomp.faq%2FVIM%2Fusage%2Fregexp%2FM.1180953641.00
0 0
- Java正则中的Greedy、Reluctant 、Possessive qualifier
- Java正则中的Greedy、Reluctant 、Possessive
- Greedy Reluctant Possessive 正则表达式
- java基础巩固系列(十三):java正则表达式中的数量词:Greedy、Reluctant、Possessive
- Java中的正则表达式中Greedy,Reluctant和Possessive数量词的区别
- Java正则表达中Greedy Reluctant Possessive 的区别
- java 正则表达式Greedy、Reluctant、Possessive的理解
- Java正则表达中Greedy Reluctant Possessive 的区别
- 正则表达式:Greedy、Reluctant、Possessive 区别
- Greedy Reluctant Possessive区别
- 总算是明白 java正则表达式 中 Greedy 、Reluctant 、Possessive数量词的区别了
- 【转载】JAVA正则表达式的三种模式的区别-greedy reluctant possessive
- [转载]正则表达式 的greedy、reluctant和possessive量词
- 正则表达式Greedy、Reluctant、Possessive三种策略的区别
- 正则表达式中Greedy、Reluctant、Possessive数量词的区别
- greedy、reluctant和possessive量词
- Differences Among Greedy, Reluctant, and Possessive Quantifiers
- greedy、reluctant和possessive量词的区别
- 开启xterm终端256色和终端下vim 256色
- Topcoder SRM 144 Div2 1100 (树形dp)
- POJ 3104
- 避免过度同步(笔记)
- Spring中Quartz的配置
- Java正则中的Greedy、Reluctant 、Possessive qualifier
- 两个栈实现队列 && 两个队列实现栈
- 阿里巴巴2015年秋季在线笔试附加题---求交集字符串
- Codeforces 464A. No to Palindromes! (dp,向前推理,向后查询)
- 编译原理实验之源程序的预处理及词法分析程序设计
- 2014年暑假总结
- hdu 2030
- 正则基础之——贪婪与非贪婪模式
- 例题7-7 天平难题 UVa1354