python正则
A. python正则匹配汉字
#python2使用如下即可:
#encoding:UTF-8
importre
importsys
reload(sys)
sys.setdefaultencoding('utf-8')
defextract_number(input):
match=re.search(u"[u4e00-u9fa5]+",input)
returnmatch.group()
if__name__=="__main__":
printextract_number(unicode("dss2第三季度建安大sdssd43fds",'utf8'))#python3使用如下:
#encoding:UTF-8
importre
defextract_number(input):
match=re.search("[u4e00-u9fa5]+",input)
returnmatch.group()
if__name__=="__main__":
print(extract_number("dss2第三季度建安大sdssd43fds"))
B. Python 正则
没人回答我来回答吧!
能用不一定有多优美!
匹配代码:
.*?javascript:parent.cs\('(.*?)'\).*?class=.private.*?javascript:parent.cs\('(.*?)'\).*?<font color="black">(.*?)</font>
提取代码
list=(\1,\2,\3)
不支持就\n就$n
list=($1,$2,$3)
平时不用思考,就这么写出的代码!!!!
C. 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]
结果就是你要的邮箱列表了.
D. python正则
>>> import re
>>>
>>> patt = re.compile(r"H3K(?P<k>[^\.]*)\..*")
>>>
>>> s = "H3K3490atmlth2.pted.grz.tedcrrhr1.cso"
>>> patt.match(s).groupdict().get("k")
'3490atmlth2'
>>>
E. python 正则
p = re.compile(r'<th class="subject new">(.*?)</th>',re.S)
不要继续问为什么, 去查python手册.
还有一个小提示,不建议用str作变量名, 因为str是python内建的一个类
F. python 正则表达式 (.*)
groups()返回所有捕获组构成的tuple。你的正则表达式中有唯一一个捕获组(.*?),而?在此处表示非贪婪匹配,即在整个正则表达式成立的前提下匹配尽可能少的字符,此处最少的情况是什么也不匹配,整个正则表达式匹配Python中的Py,而捕获组自然为空字符串。
G. 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
H. python正则匹配
不需要正则,直接用in就可以了
withopen('aa.txt')asf:
s=f.read()
ifall([iinsforiin'abchij']):
print(True)
if'bc12'ins:
print(True)
I. python 正则表达式.* 是什么意思
这看个,就可以看出\.应当是在代表一个.号,因为.在正则里有特定的含义,所以使用时要加转义,就是一个.的意思