正则表达式一 :re.seach()
2016-03-01 17:03
141 查看
>>> #正则表达式 >>> 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> >>>
相关文章推荐
- 利用XStream在Java对象和XML之间相互转换
- Java集合类之ArrayList
- About In-App Purchase - 关于应用程序内购买
- java基础50道编程题
- 图片整理(华为Oj)
- 【小甲鱼】001初识Python
- LWIP UDP socket编程 可以指定本地端口号及发送长度不能太长问题分析
- 滴滴的故事
- FTP - WARNING! 137 bare linefeeds received in ASCII mode
- Git 使用简介
- mysql DDL语言执行过程
- 手机客户端UI测试常见的测试点
- iOS XMPP Framework 中文概述
- iOS XMPP Framework 中文概述
- CentOS7 网络配置--NAT模式
- Android应用启动前 白屏或者黑屏原因?
- POJ 1611 The Suspects(并查集)
- 设置navigationBar的全透明,但是push到其他页面后,页面也变成了全透明,
- UITableView使用注意事项(unable to dequeue a cell with identifier)
- iOS 数据处理