正则表达式一 :re.seach()

>>> #正则表达式
>>> import re

>>> re.search(r"fishc","I love FishC.com!")
>>> re.search(r"FishC","I love FishC.com!")

<_sre.SRE_Match object at 0x02CD59C0>
>>> 

>>> #通配符“.”的使用
>>> re.search(r'.','I love you!')
<_sre.SRE_Match object at 0x02CD59F8>
>>> re.search(r'lov.','I love you')
<_sre.SRE_Match object at 0x02CD5A30>
>>> #消除点号通配符的影响用\
>>> re.search(r'\.','I love you.')
<_sre.SRE_Match object at 0x02CD59F8>
>>> # \d 可以匹配任何数字
>>> re.search(r'\d','i love 5')
<_sre.SRE_Match object at 0x02CD59C0>
>>> re.search(r'\d\d\d','i love 567')
<_sre.SRE_Match object at 0x02CD59F8>
>>> 
>>> #匹配ip地址
>>> re.search(r'\d\d\d.\d\d\d.\d\d\d.\d\d\d','192.168.266.862')
<_sre.SRE_Match object at 0x02CD5A30>
\
>>> re.search(r'\d\d\d.\d\d\d.\d\d\d.\d\d\d','192.168.266.0')
>>> #上句匹配不了
>>> 
>>> #[]来创建一个字符类,在字符类中匹配任何字符都算匹配
>>> 
>>> re.search(r'[aeiou]','i love you')
<_sre.SRE_Match object at 0x02CD5A68>
>>> #正则表达式默认开启大小写模式
>>> re.search(r'[aeiouAEIOU]','I love you')
<_sre.SRE_Match object at 0x02CD5A30>
>>> 
>>> #[]中 “-”表示范围
>>> re.search(r'[a-zA-Z]','I love you')
<_sre.SRE_Match object at 0x02CD5A68>
>>> re.search(r'[0-9]','I love you 123')
<_sre.SRE_Match object at 0x02CD5A30>
>>> 
>>> #限制重复匹配的次数
>>> 用{}来搞定
SyntaxError: invalid syntax
>>> re.search(r'ab{3}c','abbbc')
<_sre.SRE_Match object at 0x02CD59F8>
>>> re.search(r'ab{3}c','abbbbbbc')
>>> #设定匹配的范围
>>> re.search(r'ab{3,10}c','abbbbbbc')
<_sre.SRE_Match object at 0x02CD5A30>
>>> 
>>> #数字只有1-9.不能像下面匹配
>>> re.search(r'[0-255]','182')
<_sre.SRE_Match object at 0x02CD5A68>
>>> #上面的匹配是0-2,5,5,和182中的2有匹配
>>> 
>>> re.sea
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    re.sea
AttributeError: 'module' object has no attribute 'sea'
>>> re.search(r'[0-2][0-5][0-5]','182')
>>> #上面匹配不了
>>> 
>>> #真正的匹配方法
>>> re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','182')
<_sre.SRE_Match object at 0x02CD5A30>
>>> 
>>> #匹配ip地址,
>>> re.search(r'([01]\d\d|2[0-4]\d|25[0-5])\.{3}([01]\d\d|2[0-4]\d|25[0-5])','192.168.0.1')
>>> #上面虽然匹配失败,但是思想是对的,小括号是分组的作用。
>>> #上面再添加一个小括号就对了
>>> re.search(r'(([01]\d\d|2[0-4]\d|25[0-5])\.){3}([01]\d\d|2[0-4]\d|25[0-5])','192.168.0.1')
>>> #依然不对,数字1不可能刻意写成001
>>> #再修改
>>> re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])','192.168.0.1')
<_sre.SRE_Match object at 0x02CCA610>
>>> 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值