导航

Python第十二章正则表达式

Posted on 2016-05-24 10:14  4565892  阅读(180)  评论(0)    收藏  举报

1.今天学习的f=open("d:\testcase.xml","r")会报错

需要改成f=open("d:\\testcase.xml","r")

或者 f=open(r"d:\testcase.xml","r")

2.元字符  *

匹配元字符例子:

 

gg=r"1\*2"
kk=re.findall(gg,"01*2232321*23")
print(kk)
['1*2', '1*2']
3.
匹配行首的数据
reg=r"^123"
ll=re.findall(reg,"123456123856")
print(ll)
4.匹配末尾的数据
reg=r"456$"
ll=re.findall(reg,"123456654123456")
print(ll)
5.匹配单字符
.
例子:
reg=r"3..5"
ll=re.findall(reg,"123.456")
print(ll)


6.取反的操作
reg=r"a[^0-9]c"
ll=re.findall(reg,"abc,aCC,a5c,a3c")
print(ll)
7.\D表示非数字  \d 表示数字:例子
regx=r"a\dc"
ll=re.findall(regx,"abc,aCC,a5c,a3c")
print(ll)

regx=r"a\Dc"
ll=re.findall(regx,"abc,aCC,a5c,a3c")
print(ll)
 8. \s例子,表示空格字符
regx=r"a\s*?c"
ll=re.findall(regx,"abc,aCC,a5c,a3c,a c,a c")
print(ll)
9.\w字母和数字,
regx=r"a\wc"
ll=re.findall(regx,"abc,aCC,a5c,a3c,a c,a c")
print(ll)


10 \W不是字母和数字
regx=r"a\Wc"
ll=re.findall(regx,"abc,aCC,a5c,a3c,a c,a c")
print(ll)


11.匹配次数用{},例子:
regx=r"a{2}c"
ll=re.findall(regx,"1aac,2aacc,3aaaaac")
print(ll)

regx=r"a{1,4}c"
ll=re.findall(regx,"1aac,2aacc,3aaaaac")
print(ll)


regx=r'1[a]*c'零次或者多次  *
ll=re.findall(regx,"1aac,2aacc,3aaaaac")
print(ll)



 
regx=r'1[a]+c' 一次或者多次 +
ll=re.findall(regx,"1c,1aacc,1aaaaac2")
print(ll)

regx=r'1[a]?c' 一次或者零次  ?
ll=re.findall(regx,"1c,1aacc,1aaaaac2")
print(ll)
 r=r'010-?\d{8}$'
ll=re.findall(r,"010-55556656")
print(ll)
13.贪婪和非贪婪匹配

r=r'ab*?'
ll=re.findall(r,"abbbbbbbbbbbbb")
print(ll)

r=r'ab*'
ll=re.findall(r,"abbbbbbbbbbbbb")
print(ll)