Python正则表达式对象方法使用

首先使用re模块的compile()方法将正则表达式编译生成正则表达式对象,然后再使用正则表达式对象提供的方法进行字符串处理,使用编译后的正则表达式对象可以快速的完成字符串处理。其字符串处理主要包括查找、匹配、替换、搜索和分割,这些也是比较常用的操作,具体方法为findall、match、sub、search、split,下面通过几个例子来做简单说明。


>>> import re

>>> text="Anhui normal university!"

>>> pattern=re.compile(r'\bn\w+\b') #编译生成正则表达式对象。

>>> pattern.findall(text)#查找以n开头的单词。

['normal']

 

>>> import re

>>> text="I run quickly,you run slowly."

>>> pattern=re.compile(r'\w+ly') #编译生成正则表达式对象。

>>> pattern.findall(text)#查找以ly结尾的单词,即字符串中所有副词。

['quickly', 'slowly']

 

>>> import re

>>> text="I run quickly,you run slowly."

>>> pattern=re.compile(r'\b[a-zA-Z]{3}\b')#查找长度为3位的单词。

>>> pattern.match(text)#从字符串开头开始匹配,不成功则无返回值。

>>> pattern.search(text)#在整个字符串搜索,成功则返回结果。

<_sre.SRE_Match object; span=(2, 5), match='run'>

 

>>> import re

>>> text="I run quickly,you run slowly."

>>> pattern=re.compile(r'\b[a-zA-Z]{3}\b')

>>> pattern.sub('*',text)#将长度3位的单词替换位’*’

'I * quickly,* * slowly.'

>>> import re

>>> pattern=re.compile(r'[\s,.\d]+')#根据正则化式进行编译生成正则对象。

>>> text="I am in house, with lots of     pepole. yes,no. 1china 2USA"

>>> pattern.split(text)#按照空白、’,’、‘.’、数字进行分割,并返回所有单词。

['I', 'am', 'in', 'house', 'with', 'lots', 'of', 'pepole', 'yes', 'no','china', 'USA']


你可能感兴趣的:(Python)