学科分类
目录
网络爬虫

正则表达式

Python提供了对正则表达式的支持,在其内置的re模块中包含一些函数接口和类,开发人员可以使用这些函数和类,对正则表达式与匹配结果进行操作。

re模块的一般使用步骤如下:

(1)使用compile()函数将正则表达式以字符串形式编译为一个Pattern类型的对象。

(2)通过Pattern对象提供的一系列方法对文本进行匹配查找,得到一个表示匹配结果的Match对象。

(3)使用Match对象提供的属性和方法获得信息,如匹配到的字符串。

大多数情况下,从网站上爬取下来的网页源码中都有汉字,如果要匹配这些汉字,那么就需要知道其对应的正则表达式。通常情况下,中文对应的Unicode 编码范围为[u4e00-u9fa5],这个范围并不是很完整,比如没有包括全角(中文)标点,但是大多数情况下是可以使用的。

例如,把“你好,hello,世界”中的汉字提取出来,可以通过如下代码实现:

import re
# 待匹配的字符串
title = "你好,hello,世界"
# 创建正则表达式,用于只匹配中文
pattern = re.compile(r"[\u4e00-\u9fa5]+")
# 检索整个字符串,将匹配的中文放到列表中
result = pattern.findall(title)
print(result)

上述示例中,首先定义了一个字符串“你好,hello,世界”,然后创建一个正则表达式对象pattern,用于匹配该字符串中的中文,接着调用findall方法将“你好”和“世界”提取为子串后保存到列表result中。

该示例的执行结果如下:

['你好', '世界']
点击此处
隐藏目录