字符串是我们在编程的时候很常用的一种数据类型,检查会在字符串里面查找一些内容,对于比较简单的查找,字符串里面就有一些内置的方法可以处理,对于比较复杂的字符串查找,或者是有一些内容经常变化的字符串里面查找,那么字符串内置的查找方法已经不好使了,满足不了我们的要求,这个时候就得用正则表达式了,正则表达式就是用来匹配一些比较复杂的字符串。
在python中,如果使用正则表达式的话,需要导入re模块,re模块是一个内置模块,直接import就可以使用。
匹配字符串的几个方法
import re s='chenshifeng is a good boy' print(re.match('chen',s)) #match方法接收3个参数,第一个是匹配的规则,也就是正则表达式,第二个是要查找的字符串, #第三个参数不是必填的,用于控制正则表达式的匹配方式,看下面正则表达式的匹配模式。是从字符串的第一个单词中匹配字符串,如果匹配到返回一个对象,如果匹配不到,则返回None #>>> <_sre.SRE_Match object; span=(0, 4), match='chen'> print(re.search('feng',s)) #search方法的参数和match一样,和match方法不一样的是,match是从字符串里面的第一个单词里面找,而search方法则是从字符串的整个内容里面找,如果找到了就返回第一个,找不到就返回None #>>> <_sre.SRE_Match object; span=(7, 11), match='feng'> print(re.findall('feng',s)) #findall方法的参数上面的match、search一样,和他们不一样的是,findall会返回所有一个list,把所有匹配到的字符串,放到这个list里面,如果找不到的话,就返回一个空的list #>>> ['feng'] print(re.sub('chen','Chen',s)) #sub方法和字符串的replace方法一样,是用来替换字符串的,把匹配到的值替换成一个新的字符串,接收3个参数,第一个是正则表达式,第二个是要替换成什么,第三个就是要查找的字符串,会返回一个新的字符串,如果匹配不到的话,返回原来的字符串 #>>> Chenshifeng is a good boy print(re.split('is',s)) #split 方法和字符串的split方法一样,是用来分割字符的,按照匹配到的字符串进行分割,返回的是一个list,如果匹配不到的话,那返回的list中还是原来的字符串 #>>> ['chenshifeng ', ' a good boy']
常用正则表达式符号
1、数量词
待续~~