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的主要内容,如果未能解决你的问题,请参考以下文章