1、search(pattern, string, flags=0) 在一个字符串中查找匹配
2、findall(pattern, string ,flags=0) 找到匹配,返回所有匹配部分的列表
3、sub(pattern, repl, string , count=0, flags=0) 将字符串中匹配正则表达式的部分替换为其他值
4、split(pattern, string ,maxsplit=0, flags=0) 根据匹配分割字符串,返回分隔符串组成的列表
用法:
In [1]: import re
In [2]: str1="imooc video=1000"
In [3]: str1.find("1000")#可以查找出索引值
Out[3]: 12
In [4]: str1="imoocvideo=1000"
In [5]: str1.find("1000")
Out[5]: 11
In [6]: info=re.search(r"\d+",str1)#"\d"代表任意一个数字,"+"可以匹配数字一次或者无限次,只能匹配最前面的
In [7]: info
Out[7]: <_sre.SRE_Match at 0xb6bf9b48>
In [8]: info.group()
Out[8]: "1000"
In [1]: import re
In [2]: str1="java=1000,python=9090"
In [3]: info=re.findall(r"\d+",str1)#找到所有匹配的字符串,并把它们放到一个列表中
In [4]: info
Out[4]: ["1000", "9090"]
In [5]: sum([int(x) for x in info])
Out[5]: 10090
In [25]: def add1(match):#传入的match是一个字符串对象,
....: val=match.group()#匹配的字符串
....: num=int(val)+1 #强制转换
....: return str(num)#强制转化
....:
In [28]: info=re.sub(r"\d+",add1,str4)#sub就是替换字符串和函数
In [29]: info
Out[29]: "python video =10001"
In [35]: str6="imooc:java c++ python c#"
In [36]: re.split(r":| ",str6)#split用来分割字符串,":|"的意思是只要看见冒号和空格就会分割成一部分
Out[36]: ["imooc", "java c++ python c#"]
In [37]: re.split(r":| ",str6)
Out[37]: ["imooc", "java", "c++", "python", "c#"]