search
>>> import re >>> re.search(r'FishC','I love FishC.com!') <_sre.SRE_Match object; span=(7,12),match='FishC'>
r'.',68);">0,68);">1),17);">'I'# 要匹配.本身,则加一个元字符 r'.',68);">12,68);">13),17);">'.'>
数字匹配
r'd',17);">'I love 123 FishC.com') 8),17);">'1'# 匹配3个数字 r'ddd',68);">10),17);">'123'# 匹配2个数字 r'd{2}',68);">9),17);">'12'范围匹配
# 使用[]来匹配一定范围
r'[aeiou]',68);">3,68);">4),17);">'o'# [a-g] 用于匹配 a至g之时的任意一个字符.[0-5]用于匹配0-5之间的任意一个数字 r'[a-g]',68);">5,68);">6),17);">'e'次数匹配
# 使用{}匹配次数 >>> a = 'abbbccc1234'
r'ab{3}',a) 'abbb'# 匹配b4次(无结果没返回值) r'ab{4}',a)
r'ab{2,4}',0);"># 最少匹配2次 # 最多匹配4次 r'ab{,26);">> >>>
小练习
匹配255之间的数
# 思考:re.search(r'[0-255]','188')会匹配出什么? r'[0-255]',17);">'188') # 解析:[0-255]表示匹配0-2与5与5,则匹配0,1,2,5中任意一个字符
,17);">'188')
r'[01]dd|2[0-4]d|25[0-5]',68);">3),17);">'188'# 存在问题:无法匹配18,5等低于3位数,仅能匹配018,005
IP地址匹配
# 方法1:
'ddd.ddd.ddd.ddd',17);">'sdf192.168.123.123sdafkj') 18),17);">'192.168.123.123'# 例:错误匹配
'sdf555.666.777.888sdafkj') '555.666.777.888'# 无匹配项 'sdf192.168.12.123sdafkj')
r'(([01]dd|2[0-4]d|25[0-5]).){3}[01]dd|2[0-4]d|25[0-5]',17);">'192.168.200.100') 15),17);">'192.168.200.100'>
r'(([01]{,1}d|2[0-4]d|25[0-5]',17);">'192.168.1.12') '192.168.1.12'> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|