import re st = 'asdfasxxixxdafqewxxlovexxsadawexxyouxxas' # . #点匹配除换行符外的任意字符 a0 = re.findall('xx.',st) #print(a0) #['xxi', 'xxd', 'xxl', 'xxs', 'xxy', 'xxa'] a1 = re.findall('xx..',st) #print(a1) #['xxix', 'xxlo', 'xxsa', 'xxyo', 'xxas'] # * #星匹配前面的一…
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(age=10 * 24 * 60 * 60)def index_page(self, response): for each in response.doc('a[href^="http"]').items(): matchObj = re.match( r'(.*).html', each…
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配 //贪婪匹配 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '<html><head><title>标题</title></head><body>内容</body></html>';   reg.RegEx  := '<.*>';…
Python的正则表达式默认是“贪心匹配”,即在有第二义的情况下,尽可能匹配最长的字符串,在正则表达式的花括号后面跟上问号,可以变为非贪心模式 >>> >>> haRegex=re.compile(r'(ha){3,5}')>>> m=haRegex.search('hahahahahaha')>>> print(m.group())hahahahaha>>> 上述输出5个ha,是贪心匹配 >>>…
之前写了一篇有关正則表達式的文章.主要是介绍了正則表達式中通配符 转义字符 字符集 选择符和子模式 可选项和反复子模式 字符串的開始和结尾 ,有兴趣的能够查看博客内容. 此文章主要内容将要介绍re中的贪心和非贪心算法: 贪心: 使用 .* 匹配字符串 当中标点 . 表示通配符,能够用来匹配除换行符之外的随意符号.* 为反复子模式,同意模式反复0次或者多次. 贪心算法将会依照尽可能大的原则去匹配字符串. 非贪心:  使用 .*? 匹配字符串 当中标点 . 表示通配符,能够用来匹配除换行符之外的随意…
package test1; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestExp { /** * * 在使用正则表达式的时候,我们经常会使用()把某个部分括起来,称为一个子模式. 子模式有Capturing和Non-Capturing两种情况. * Capturing指获取匹配 : * 是指系统会在幕后将所有的子模式匹配结果保存起来,供我们查找或者替换.如后向引用(在表达式的后面…
现在有一个需求,比如给定如下数据: 0-0-0 0:0:0 #### the 68th annual golden globe awards #### the king s speech earns 7 nominations #### <LOCATION>LOS ANGELES</LOCATION> <ORGANIZATION>Dec Xinhua Kings Speech</ORGANIZATION> historical drama British k…
http://www.111cn.net/phper/210/55600.htm 贪婪模式匹配的原则是: 在可匹配也可不匹配的情况下, 优先匹配,直到不能匹配成功的情况下,记录备选状态,并把匹配控制交给正则表达式的下一个匹配字符,当之后的匹配失败的时候,再回溯,进行匹配.它会匹配尽可能多的字符.它首先看整个字符串,如果不匹配,对字符串进行收缩:遇到可能匹配的文本,停止收缩,对文本进行扩展,当发现匹配的文本时,它不着急将该匹配保存到匹配集合中,而是对文本继续扩展,直到无法继续匹配 或者 扩展完整个…
$str = ".abcdeabcde"; preg_match('/a.+?e/', $str, $match); print_r($match); Array ( [0] => abcdeabcde ) -------------------------- 贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配,默认情况下是贪婪模式; preg_match('/a.+?e/', $str, $match); print_r($match); Array ( [0]…
举个栗子: v=jfedu.shiyiwen.com echo ${v%.*} 一个%为非贪婪匹配,即匹配最短结果.%从右到左进行非贪婪匹配,匹配什么呢? 匹配已 .*的字符. 那么当然是匹配到了.com 然后执行删除匹配到的字符.结果就是(这里的 "." 相当于定界符.而“*”是通配符) jfedu.shiyiwen echo ${v%%.*} 而这里执行贪婪匹配,即匹配最长结果就匹配到了 .shiyiwen.com 结果为 jfedu 这里在说一个 # 刚好和 %顺序相反而已,#是…