python模块学习之re

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块学习之re相关的知识,希望对你有一定的参考价值。

re模块中常用的方法:

1、compile()

编译正则表达式的模式为对象模式,这样可以提高执行效率。

语法:

re.compile(r‘pattern‘,[flags])

其中r的含义是不转义字符串,也就是说\\t就是

例如:

import re
hello = "hello,i am tom,nice to konw u."
a = re.compile(r‘to‘)
b = a.findall(hello)

[‘to‘,‘to‘]

 2、match()

匹配的字符串必须按照pattern开头,否则匹配不到。

语法:

re.match(pattern,string,[flags])

例如:

>>> a = "hello"
>>> b = re.match(r‘l‘,a)
>>> b
>>> c = re.match(r‘he‘,a)
>>> c
<_sre.SRE_Match object; span=(0, 2), match=‘he‘>

 3、search()

匹配到第一个pattern就返回结果。

语法:

re.search(pattern,string,[flags])

例如:

>>> a = "hellohe"
>>> c = re.search(r‘he‘,a).group()
>>> c
‘he‘

 注:group()方法用来返回一个字符串,因为search()方法返回的是一个match对象。

4、findall()

匹配所有的pattern并返回一个列表。

语法:

re.findall(pattern,string,[flags])

例如:

>>> a = "hello12kk32"
>>> b = re.findall(r‘\\d+‘,a)
>>> b
[‘12‘, ‘32‘]

 技术分享

技术分享

5、sub()

匹配并替换。

语法:

re.sub(pattern,repl,string,count)

例子:

import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
print(re.sub(r‘\\s+‘, ‘-‘, text))
执行结果如下:
JGood-is-a-handsome-boy,-he-is-cool,-clever,-and-so-on...

其中第二个参数是替换后的字符串;本例中为‘-‘

第四个参数指替换个数。默认为0,表示每个匹配项都替换。

 

以上是关于python模块学习之re的主要内容,如果未能解决你的问题,请参考以下文章

python学习之正则表达式re模块

python学习之网络数据解析

python学习之re库

Python学习之模块

python学习之正则表达式

python学习之正则表达式