Ⅰ python 正则
p = re.compile(r'<th class="subject new">(.*?)</th>',re.S)
不要继续问为什么, 去查python手册.
还有一个小提示,不建议用str作变量名, 因为str是python内建的一个类
Ⅱ python中的正则表达式中的 "|"
Python中re.findall()函数是要求正则表达式在捕获第0组数据时,要在正则表达式上加小括号才能捕获.
也就是说如果你要获取整个正则表达式匹配的数据(你这里是电子邮箱地址),需要在正则表达式外面加小括号,
然后取第0捕获组的数据(你这里是[x[0] for x in zhengze]),
因为findall函数把每一个匹配的多个捕获组(就是你正则表达式中的小括号中)的数据放到一个元组里,所以要用for循环把第0捕获组的数据取出来.
具体程序改进如下
>>>zhengze=re.findall("([A-Za-z0-9]+@(163|qq|gmail).com)",txt)
>>>[x[0]forxinzhengze]
结果就是你要的邮箱列表了.
Ⅲ python 正则表达式
正则语法:
top|123
效果:
Ⅳ python正则表达式
group和groups是两个不同的函数。
一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。
m.groups() 返回所有括号匹配的字符,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)
对你给的例子:
m = re.match("([abc])+", "abc")
你的+号在括号外面。括号最多匹配到一个字符,要么是a, 要么是c,这个python引擎匹配的是末尾的c。
而m.group() == m.group(0) 这个返回的是整个匹配的字符串"abc".
关于捕获型括号在正则表达式里的用法,参见相关文档。
参见http://..com/link?url=CltRBzI_-_jFl88a
Ⅳ python正则匹配
不需要正则,直接用in就可以了
withopen('aa.txt')asf:
s=f.read()
ifall([iinsforiin'abchij']):
print(True)
if'bc12'ins:
print(True)
Ⅵ python正则
>>> import re
>>>
>>> patt = re.compile(r"H3K(?P<k>[^\.]*)\..*")
>>>
>>> s = "H3K3490atmlth2.pted.grz.tedcrrhr1.cso"
>>> patt.match(s).groupdict().get("k")
'3490atmlth2'
>>>
Ⅶ Python 正则
没人回答我来回答吧!
能用不一定有多优美!
匹配代码:
.*?javascript:parent.cs\('(.*?)'\).*?class=.private.*?javascript:parent.cs\('(.*?)'\).*?<font color="black">(.*?)</font>
提取代码
list=(\1,\2,\3)
不支持就\n就$n
list=($1,$2,$3)
平时不用思考,就这么写出的代码!!!!
Ⅷ python 正则表达式 (.*)
groups()返回所有捕获组构成的tuple。你的正则表达式中有唯一一个捕获组(.*?),而?在此处表示非贪婪匹配,即在整个正则表达式成立的前提下匹配尽可能少的字符,此处最少的情况是什么也不匹配,整个正则表达式匹配Python中的Py,而捕获组自然为空字符串。
Ⅸ python正则匹配
#!/usr/bin/python
#-*-coding:utf-8-*-
importre
s='<liclass="x-left-li">大小: 1018KB <span>|</span></li> <liclass="x-left-lili-cs">下载: 321次 <span>|</span></li> <liclass="x-left-li">格式: .png <span>|</span></li>'
p=re.compile(r'[sS]*大小[:: f x20]+([da-zA-Z]+)[sS]*下载[:: f x20]+(d+)[sS]*格式[:: f x20]+([.a-zA-Zd]+)[sS]*')
prints+" ";
printp.sub(r'1',s)
printp.sub(r'2',s)
printp.sub(r'3',s)