首页 > 代码库 > 正则表达式
正则表达式
字符串是我们编程时经常用的一种数据类型,对于简单的字符串查找,使用字符串的内置方法就可以,对于比较复杂的符串或者内容经常变化的字符串,就要用到正则表达式了。
在Python中要用正则表达式,需要导入re模块,re模块是内置模块,import导入就可使用。
1.匹配字符串的几个方法:
1>match方法
match方法接收三个参数,第一个是匹配的规则,也就是正则表达式,第二个是要查找的字符串,第三个参数不是必填的,用户控制正则表达式的控制方式,根据正则表达式的匹配模式而定。
从字符串中的第一个单词中匹配字符串,如果匹配到,返回一个对象,如果匹配不到,返回none
#<_sre.SRE_Match object; span=(0, 4), match=‘best‘>
2>search方法
search方法的参数与match一样,区别是,match是从字符串里的第一个单词找,而search方法则是从整个内容找,如果匹配到,返回第一个,如果匹配不到,返回none。
字符串前面加r代表原字符串
#运行结果为is
3>findall方法
findall方法的参数上面的match、search一样,和他们不一样的是,findall会返回所有一个list,把所有匹配到的字符串,放到这个list里面,如果找不到的话,就返回一个空的list
运行结果是[‘best’]
4>sub方法
sub方法和字符串的replace方法一样,是用来替换字符串的,把匹配到的值替换成一个新的字符串,接收3个参数,第一个是正则表达式,第二个是要替换成什么,第三个就是要 查找的字符串,会返回一个新的字符串,如果匹配不到的话,返回原来的字符串
运行结果:
5>split
split 方法和字符串的split方法一样,是用来分割字符的,按照匹配到的字符串进行分割,返回的是一个list,如果匹配不到的话,那返回的list中还是原来的字符串
运行结果为一个list:
2、数量词
1> ‘*‘ 匹配*号前的字符0次或多次,只是*前面的一个字符
运行结果
2> ‘+‘ 匹配前一个字符1次或多次,只是+前面的一个字符
3> ‘?‘ 匹配前一个字符1次或0次,只是?前面的一个字符
4> ‘{2}‘ 匹配前一个字符m次
5> ‘{n,m}‘ 匹配前一个字符n到m次
正则表达式