正则表达式练习
在接口中使用正则通常分为三步
第一步:先生成一个对象实例
比如 pattern = re.compile('hello') 这时就会生成一个去匹配'hello'字符串的对象
第二步:使用生成的对象去匹配文本
比如:match = pattern.match('hello word') 匹配成功返回匹配到的对象,匹配失败返回None
match是匹配开头,如果开头不匹配,直接返回None 如果想要匹配所有的字符串,可以使用search,都是匹配一个,danshisearch可以全局匹配
re.search(r'\d+','hhs12kak2233jjj').group() 只可以匹配到一个符合条件的字符串
第三步 使用match.group()将匹配到的字符串分组出来 分组之前先判断匹配到的值是否返回的是None
比如:match.group()
常用的一些re方法
re.split 将匹配到符合条件的字段删除
re.split(r'hello','hell word jjj hello')
得出结果:['', ' word hah ', '']
re.findall 匹配到所有符合条件的字段,列表形式返回
re.findall('r'hello','hell word jjj hello'')
得出结果:['hello', 'hello']
re.sub 将匹配到的字符串替换掉
re.sub(r'\s+','-',s) 第一个是匹配的规则,第二个是需要替换成的新字符,第三个是字符串
re.subn 会返回替换的次数
用正则去匹配一个邮箱
re.match(r'^[0-9a-zA-Z_]{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}$',text)