D5_正则表达式初步

格式:(匹配规则pattern,数据源data_source)*数据源必须是字符串
需要导入模块:import re
生成要匹配的正则对象:m = re.match(pattern,data_source)

常用方法:

re.match()      '''按照格式从数据源开头进行匹配'''
re.findall()    '''找到所有要匹配的字符串并返回列表'''
re.search()     '''找到第一个要匹配的字符串并返回该字符串'''
re.split()      '''将匹配到的字符串当作分割点分割指定的字符串并返回列表'''
re.sub()        '''匹配并替换成指定字符串,返回替换后字符串。可指定要替换的个数'''
m.group()       '''使用match()关键字匹配成功后获得被匹配到的字符串'''

pattern写法
^:匹配字符串的开头。
$:匹配字符串的末尾。
.:匹配除换行符外的任意字符,当re.DOTALL标记被指定时则可以匹配包括换行符的任意字符。
[]:用于表示一组字符串,单独列出。如[amk]匹配’a’,’m’或’k’。
[^]:不在[]中的字符。
*:匹配0个或多个表达式。
+:匹配1个或多个表达式。
?:匹配0个或一个由前面的正则表达式定义的片段,非贪婪方式。
{n}:精确匹配n个前面的表达式。
{n,m}:匹配n到m次由前面的正则表达式定义的片段,贪婪方式。
a|b:匹配a或b。
():匹配括号内的表达式,也表示一个组。
\w:匹配字母和数字。
\W:匹配数字。
\s:匹配任意空白字符,等价于[\t\n\r\f]。
\S:匹配任意空白字符。
\d:匹配任意数字,等价于[0-9]。
\D:匹配任意非数字。
\A:匹配字符串开始。
\z:匹配字符串结束。
\Z:匹配字符串结束,如果存在换行只匹配到还行前的结束字符串。
\B:匹配非单词边界。
\b:匹配一个单词边界。

常见正则实例:

'''匹配手机号'''
tel = '13813801380'
re.match('(1)([358]\d{9})',tel)
<_sre.SRE_Match object; span=(0, 11), match='13813801380'>

'''匹配IPv4地址'''
ipv4 = '192.168.254.250'
re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',ipv4)
<_sre.SRE_Match object; span=(0, 15), match='192.168.254.250'>

'''匹配E-mail地址'''
e_mail = 'dmmjy9@live.cn'
re.match('[0-9.a-z]{0,26}@[0-9.a-z]{0,20}.[0-9a-z]{0,8}',e_mail)
<_sre.SRE_Match object; span=(0, 14), match='dmmjy9@live.cn'>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值