Python中的re模块

常用方法

1.匹配

findall (pattern, string, flags=0)

1 s = re.findall('\D+','天12青色2334等烟45雨')
2 print(s) #['天', '青色', '等烟', '雨']  返回值是列表
s1 = re.findall('\s+','123haha__456')
print(s1) # [] 没有值匹配返回空列表

search(pattern, string, flags=0)

1 s = re.search('[a-z]+','what123the***fuck')
2 print(s)  #<_sre.SRE_Match object; span=(0, 4), match='what'>  返回值是正确匹配结果的对象,返回值1个,匹配上则返回对象
3 print(s.group())  #what 通过group()获得匹配到的第一个结果
4 s1 = re.search('\s+','what123the***fuck')
5 print(s1) # None 匹配不到则返回None

match(pattern, string, flags=0)

s = re.match("\d+",'1213wode1314tiankong')
print(s) # <_sre.SRE_Match object; span=(0, 4), match='1213'>  返回结果与search相同
s1 = re.match("\d+","aidedeti")
print(s1) #None 如果匹配不到返回None

2.替换

sub(pattern, repl, string, count=0, flags=0)

s = re.sub('[a-z]+','','我de天空多么di清晰')
print(s) #我的天空多么的清晰

subn(pattern, repl, string, count=0, flags=0)

s = re.subn('[a-z]+','','我de天空多么di清晰')
print(s) #('我的天空多么的清晰', 2)  #返回元组,2个值,替换后的字符串和替换个数

3.切割

split(pattern, string, maxsplit=0, flags=0)

s = re.split("\d+"," ju123tou23wang00wujin33huiyun11")
print(s) # [' ju', 'tou', 'wang', 'wujin', 'huiyun', ''] 返回列表

4.进阶方法

compile(pattern, flags=0)

finditer(pattern, string, flags=0)

python中正则表达式的特点

猜你喜欢

转载自www.cnblogs.com/listash/p/9438181.html