正则表达式练习

在接口中使用正则通常分为三步

 

第一步:先生成一个对象实例

比如 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)

 

posted @ 2019-10-11 12:08  Roc_Atlantis  阅读(550)  评论(0编辑  收藏  举报