3.2.5.6 查找英语语句里所有形容词

3.2.5.6 查找英语语句里所有形容词

如果想查找在一段文字里所有出现匹配的字符,需要使用findall()函数,而不是使用search()函数。例如,如果有一个英语作家想把一段英语里所有形容词查找出来,他或她就会使用findall()来实现这个功能。

例子:

text = "He was carefully disguised but captured quickly by police."

print(text)

print(re.findall(r"\w+ly", text))

结果输出如下:

He was carefully disguised but captured quickly by police.

['carefully', 'quickly']

在这个例子里,就是把所有词尾带ly的单词找出来,从结果来看,都是带有ly结尾的单词,已经达到目的。

 

3.2.5.7 查找英语语句里所有形容词和出现位置

如果不仅仅想查看英语语句里出现的所有形容词,还想把它的位置找出来,那么使用findall()函数就达不到这个目标,需要使用finditer()函数查找,这样match对象带回来所有信息,而不仅是字符串。继续上一个例子假设,有一个作家想找出所有使用形容词,并且标记出这些形容词所在位置,他或她将使用什么样方式来完成这件工作呢?

例子:

text = "He was carefully disguised but captured quickly by police."

print(text)

for m in re.finditer(r"\w+ly", text):

     print('%02d-%02d: %s' % (m.start(), m.end(), m.group(0)))

结果输出如下:

He was carefully disguised but captured quickly by police.

07-16: carefully

40-47: quickly




蔡军生  微信号:shenzhencai  深圳

你可能感兴趣的:(python,正则表达式,milang)