正则表达式贪婪模式中的非贪婪模式
2013-11-13 15:20
337 查看
这两天再写一个内部的统计,需要提取来自于其它搜索的关键字。
正则表达式:q=(.*?)&
需要提取的内容:http://so.360.cn/s?ie=utf-8&src=hao_search&q=%E6%83%A0%E5%B7%9E%E4%B8%BD%E5%A3%B0&ab
匹配的内容:%E6%83%A0%E5%B7%9E%E4%B8%BD%E5%A3%B0
解释:(.*? )其中?的作用,他的作用就是勉强模式重复前面的字符,什么意思呢?就是如果我用(.*a)去匹配aaaaaaa字符串的结果就是(aaaaaaa)源字符串这叫贪婪模式,如果用(.*?a)去匹配aaaaaaa的话他就会先匹配第一a,然后是第二个a,然后是第三个a…….这就叫勉强模式匹配有的地方也叫懒惰模式匹配。通俗一点(大家都喜欢通俗的解释,呵呵)就是前者是从后往前去匹配尽可能多的字符,而后者是从前往后匹配
正则表达式:q=(.*?)&
需要提取的内容:http://so.360.cn/s?ie=utf-8&src=hao_search&q=%E6%83%A0%E5%B7%9E%E4%B8%BD%E5%A3%B0&ab
匹配的内容:%E6%83%A0%E5%B7%9E%E4%B8%BD%E5%A3%B0
解释:(.*? )其中?的作用,他的作用就是勉强模式重复前面的字符,什么意思呢?就是如果我用(.*a)去匹配aaaaaaa字符串的结果就是(aaaaaaa)源字符串这叫贪婪模式,如果用(.*?a)去匹配aaaaaaa的话他就会先匹配第一a,然后是第二个a,然后是第三个a…….这就叫勉强模式匹配有的地方也叫懒惰模式匹配。通俗一点(大家都喜欢通俗的解释,呵呵)就是前者是从后往前去匹配尽可能多的字符,而后者是从前往后匹配
相关文章推荐
- Python 正则表达式里面 贪婪模式和非贪婪模式的区别
- 正则表达式贪婪与非贪婪模式
- 正则表达式贪婪模式与非贪婪模式
- 正则表达式 取两字符中间的字符串(双向非贪婪模式)
- 正则表达式中的贪婪与非贪婪匹配模式
- Python正则表达式的贪婪模式和非贪婪模式
- javascript 正则表达式-贪婪模式与懒惰模式
- javascript 正则表达式数量词,字符串方法(match,search,replace,split),贪婪模式,惰性模式总结
- Java-----正则表达式匹配模式[贪婪模式、勉强模式、占有模式]
- 正则表达式中的贪婪与非贪婪模式
- 正则表达式 之贪婪模式
- 【JavaScript】正则表达式-惰性和贪婪模式
- 正则表达式贪婪与非贪婪模式
- 正则表达式(regex) 贪婪模式、懒惰模式使用方法
- 浅谈php正则表达式中的非贪婪模式匹配的使用
- 正则表达式贪婪与非贪婪模式
- 正则表达式---贪婪与非贪婪模式
- 正则表达式中的贪婪模式与非贪婪模式详解
- python 正则表达式 贪婪模式的简介和匹配时的几种模式
- 【JavaScript】正则表达式--非贪婪模式截取任意字符串的笔记