re.findall(pattern,string)会搜索所有匹配的字符,返回的是一个列表,获取首个匹配需要re.findall(pattern,string)[0]访问, 但是如果findall没匹配成功则返回空列表,这时用列表下标去访问元素时就会报IndexError: list index out of range. 如: >>>re.findall('abc','abd') [] >>>re.findall('abc','abd')[0] Traceback (…
Python正则表达式字符集匹配表示是指搜索一个字符,该字符在给定的一个字符的集合中.元字符'['和']'是用于组合起来定义匹配字符集,匹配模式中使用 '['开头,并使用']'结尾来穷举搜索的字符可能出现的集合,注意一个字符集仅用于匹配一个字符,当要字符集匹配多个字符时可以通过定义多个字符集或字符集重复的模式来定义匹配模式. 字符集中的字符可以穷举列出允许的所有字符,也可以通过给出两个起始和终止字符并在中间用 连字符'-' 标记将它们分开,表示从起始字符到终止字符的一系列字符,这一系列字符包含起…
符号"?".""."+"这三个元字符修饰符在Python中都表示重复匹配的模式,即要求匹配的字符串满足重复次数的要求,但具体重复次数要求不同,其中: "?":表示重复0-1次,即匹配字符串可以不出现或最多出现一次,如ab? 会匹配 'a' 或者 'ab': "":表示重复0-n次,即匹配字符串可以不出现或出现多次,最多次数不受限,ab* 会匹配 'a', 'ab', 或者 'a'后面跟随任意个'b': &q…
找到了之前参考的博文,用来记录一下https://www.cnblogs.com/baxianhua/p/8572805.html 平常 点 (.)去匹配任意字符的时候,是不能匹配换行符的 匹配换行: 第一种方法:为了修正这个问题,修改模式字符串,增加对换行的支持.比如: 添加对换行符的支持,(?:.|\n)指定了一个非捕获组(即,这个组只做匹配但不捕获结果,也不会分配组号) 第二种方法:re.DOTALL re.compile()函数接受一个标志参数叫re.DOTALL,在这里非常有用,它可以…
最短匹配应用于:假如有一段文本,你只想匹配最短的可能,而不是最长. 例子 比如有一段html片段,'\this is first label\\the second label\',如何匹配出每个a标签中的内容,下面来看下最短与最长的区别. 代码 >>> import re >>> str = '<a>this is first label</a><a>the second label</a>' >>>…
re.S,使 '.'  匹配换行在内的所有字符 >>> pattern=r'ghostwu.com' >>> import re >>> re.findall( pattern, 'ghostwuacom' ) ['ghostwuacom'] >>> re.findall( pattern, 'ghostwubcom' ) ['ghostwubcom'] >>> re.findall( pattern, 'ghost…
import rere.match(pat,string)re.compile()re.sub(pat,repl,string)re.findall(pat,text)一般字符:. 匹配任意除换行符"\n"外的字符\ 转义字符 举例: a\.c   a.c        a\\c   a\c[...] 字符集 举例:  a[bcd]e   abe  ace  ade| 匹配左右表达式任意一个,先左后又 (abc|def) abc  def  预定义字符:\d 数字[0-9]\D 非数字…
为了支持特殊元字符在特定场景下能表示自身而不会被当成元字符进行匹配出来,可以通过字符集或转义符表示方法来表示,字符集表示方法前面在<第11.4节 Python正则表达式搜索字符集匹配功能及元字符"[]"介绍>进行了介绍,本节介绍转义符表示方法. 在re模块中,为了让元字符能表示自身,可以在元字符前面增加转义符反斜杠"\",这个转义符的使用可以看到与Python字符串的转义符是完全相同的.re模块转义符和Python字符串转义符相同会导致在re模块进行转义…
正则其实也势利,削尖头来把钱揣: (指开始符号^和结尾符号$)   特殊符号认不了,弄个倒杠来引路: (指\. \*等特殊符号)   倒杠后面跟小w, 数字字母来表示: (\w跟数字字母;\d跟数字)   倒杠后面跟小d, 只有数字来表示:   倒杠后面跟小a, 报警符号嘀一声:   倒杠后面跟小b, 单词分界或退格:   倒杠后面跟小t, 制表符号很明了:   倒杠后面跟小r, 回车符号知道了:   倒杠后面跟小s, 空格符号很重要:   小写跟罢跟大写,多得实在不得了:   倒杠后面跟大W,…
今天用Python写了个简单的爬虫程序,抓取虎扑篮球(nba.hupu.com)的首页内容,代码如下: #coding:gb2312 import urllib2, re webpage = urllib2.urlopen('http://nba.hupu.com') text = webpage.read() m = re.search('<a href=(.*) (.*)?>彩票</a>', text) print m.group(1) 按照预想应该输出的结果是"ht…