各个方法的简介
secret_code = 'hadkflifexxIxxfasdjifja134xxlovexx23345sddfxxyouxx8dfse'
( . )的使用举例
a ='xy123'
b=re.findall('x.',a) 占位符,匹配x后的几位数,就有几个点
print (b)
*的使用举例
a='xyxy123'
b=re.findall('x*',a) 寻找x的位置并返回,['x', '', 'x', '', '', '', '', '']例如1,3出现了x,其他没有出现所以为空
print (b)
?的使用
a='xyx123'
b=re.findall('x?',a)
print (b)
important is (.*?)
( .)的使用 贪心算法
` b=re.findall(‘xx.xx’,secret_code)
print(b)#[‘xxIxxfasdjifja134xxlovexx23345sddfxxyouxx’] *(* .*?)的使用 非贪心算法*
c=re.findall(‘xx.*?xx’,secret_code)#[‘xxIxx’, ‘xxlovexx’, ‘xxyouxx’]
print(c) `
- 使用括号与不使用括号的区别 *
d=re.findall('xx(.*?)xx',secret_code)
print (d)
['I', 'love', 'you']
for each in d:
print (each);
显示:
I
love
you `
s='''sdfxxhello
xxfsdfxxworldxxasf'''
d=re.findall('xx(.*?)xx',s) #['fsdf']
k=re.findall('xx(.*?)xx',s,re.S)#['hello\n', 'world']
re.S 使 . 的范围包括 \n
print(d)
print(k)
- findall 与 Search 的区别 *
- findall 会一直匹配完
search 只会匹配第一个,不在继续
s2='asdfxxIxx123xxlovexxdef' f=re.search('xx(.*?)xx123xx(.*?)xx',s2).group(2) print(f) f2=re.findall('xx(.*?)xx123xx(.*?)xx',s2) print(f2[0][1]) 显示 love print(f2[0][0]) 显示 I
sub使用方法举例
不同的导入方式,使用方法不同 *
1.:import re 推荐使用
:from re import
:from re import findall,search,sub,S
:不需要使用complie
:使用\d+匹配纯数字
匹配数字 *
a='djdd123456kkl' b=re.findall('(\d+)',a) print(b)
python 爬虫的一个小小脚本
|
|