python中re模块的安装_python库之re模块
首先:re库中有
__all__ = [ "match", "search", "sub", "subn", "split", "findall",
"compile", "purge", "template", "escape", "I", "L", "M", "S", "X",
"U", "IGNORECASE", "LOCALE", "MULTILINE", "DOTALL", "VERBOSE",
"UNICODE", "error" ]
1.match:
这个函数的意思是从头开始匹配,如果有将匹配上的数据返回,但只返回第一个,如果没有匹配上将返回None,注意,这个函数的弊端就是如果你要找的数据在中间的某个部分,它是不会返回值的,返回None。
pattern = re.compile('\d+')
str = 'bbb1234aaa5678'
m = pattern.match(str)
m=
None
2.search:
为了解决上面的弊端,就出现了这个函数,这个函数可以从任何位置开始匹配,如果匹配上返回第一个数值,否则返回None。
pattern = re.compile('\d+')
str = 'bbb1234aaa5678'
n = pattern.search(str)
print n.group()
# n=
# 1234
3.sub
这个方法是被称作"替换"就是将你要替换的字段用其它的字段进行替换。pattern为匹配规则,strs使我们要进行替换的字符串,m中的hello word 是我们用它去替换我们匹配的东西。
pattern = re.compile('(\w+) (\w+)')
strs = 'hello 123, hello 456'
m = pattern.sub('hello word', strs)
print m
# hello word, hello word
4.subn
该函数返回的是一个数组,第一个参数是字符串,第二个参数是匹配成功的个数。
pattern = re.compile('(\w+) (\w+)')
strs1 = 'hello 123, hello 456'
m1 = pattern.subn('hello word', strs1)
匹配成功输出为:('hello word, hello word', 2)
strs2 = 'xxxxxxxxxxxxxx'
m2 = pattern.subn('hello word', strs2)
匹配失败输出为:('xxxxxxxxxxxxxx', 0)
5.split
根据模式的出现分割源字符串,返回包含结果子字符串的列表
pattern = re.compile('[\s\d\\\;]+')
m = pattern.split(r"a bb\aa;mm; a")
# ['a', 'bb', 'aa', 'mm', 'a']
6.findall
匹配全部符合规则的字符串。
pattern = re.compile('\d+')
m = pattern.findall('12a3d4f5g678s9d0dawsasda')
# ['12', '3', '4', '5', '678', '9', '0']