鱼C论坛

 找回密码
 立即注册
查看: 1085|回复: 0

[技术交流] python 057 - 060 爬虫之正则表达式

[复制链接]
发表于 2018-8-3 15:05:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 风不会停息 于 2018-8-5 23:17 编辑

1. 正则表达式的使用规则: https://fishc.com.cn/forum.php?m ... peid%26typeid%3D403

2. re.search(pattern, string, flags=0):
        第一个参数是正则表达式, 如果匹配成功,则返回一个Match,否则返回一个None;
        第二个参数表示要匹配的字符串;
        第三个参数是标致位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
例如, 匹配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.1.101")
<_sre.SRE_Match object; span=(0, 13), match='192.168.1.101'>

3. 正则表达式各种元字符的用法: https://fishc.com.cn/forum.php?m ... peid%26typeid%3D403

4. re.findall(pattern, string, flags=0): 返回string中所有与pattern相匹配的全部字串,返回形式为列表, re.finditer(pattern, string, flags=0): 和findall()一样, 不过是返回一个迭代器

5. re.compile(pattern, flags=0): 获得一个Pattren实例(模式对象), 然后使用Pattern实例处理文本并获得匹配结果, 例如:
>>> import re
>>> p = re.compile("[A-Z]+")
>>> p.findall("I love FishC.COM")
['I', 'F', 'C', 'COM']
   
6. 对于re.search("i love FISHC.com")相当于先自动创建一个模式对象再使用search()方法, 对于re.search(), re.match()返回一个匹配对象, 匹配对象支持group(), start(), end(), span()方法

7. 对于模式对象和匹配对象的方法: https://fishc.com.cn/forum.php?m ... peid%26typeid%3D403

8. 对于正则表达式的编译标志: https://fishc.com.cn/forum.php?m ... peid%26typeid%3D403

9. 对于零宽断言和分组: https://fishc.com.cn/forum.php?m ... peid%26typeid%3D403


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 19:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表