安阳网站,建设银行网站入口,WordPress迁移服务器和域名,企业网站界面前言
使用正则表达式处理数据#xff0c;可进行字符串匹配、提取和替换等操作。在python中#xff0c;通过re库完成正则匹配的操作。 一、正则语法规则
1.常用匹配符
模式描述^匹配字符串开头$匹配字符串结尾.匹配任意字符*匹配前面的字符零次或多次匹配前面的字符一次或多…
前言
使用正则表达式处理数据可进行字符串匹配、提取和替换等操作。在python中通过re库完成正则匹配的操作。 一、正则语法规则
1.常用匹配符
模式描述^匹配字符串开头$匹配字符串结尾.匹配任意字符*匹配前面的字符零次或多次匹配前面的字符一次或多次?匹配前面的字符零次或一次[]匹配括号中列举的任意一个字符[^]匹配除了括号中列举的字符以外的任意一个字符
2.常用匹配函数
函数 描述re.match从开始位置开始匹配如果开头没有则无语法 re.matchpattern, stringre.search搜索整个字符语法 re.searchpattern, stringre.findall搜索整个字符串返回一个list 语法 re.findall pattern, string
3.常用修饰符
修饰符描述re.I使匹配对大小写不敏感re.M多行匹配影响 ^ 和 $re.S使 . 匹配包括换行在内的所有字符re.U根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.re.L做本地化识别locale-aware匹配re.X该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解
二、正则表达式的应用
1.引入库
代码如下示例
import re2.提取数据
代码如下示例
import re
content
div
a hrefhttps://baike.baidu.com/item/%E5%B9%BF%E4%B8%9C%E7%9C%81/132473 title广东省广东省介绍/a
a hrefhttps://baike.baidu.com/item/%E6%B1%9F%E8%A5%BF%E7%9C%81/19438118 title江西省江西省介绍/a
/div# 获取链接文本内容
part ra.*?(.*?)/a
topic re.findall(part,content)
print(topic )
# 获取完整链接内容
url_part ra.*?href.*?/a
urls re.findall(url_part,content,re.I|re.S|re.M)
for i in urls:print(i)# 获取单个链接
res_url rhref(.*?)
url re.findall(res_url,content,re.I|re.S|re.M)
print(url)
for i in url:print(i)3.返回结果
[广东省介绍, 江西省介绍]
a hrefhttps://baike.baidu.com/item/%E5%B9%BF%E4%B8%9C%E7%9C%81/132473 title广东省广东省介绍/a
a hrefhttps://baike.baidu.com/item/%E6%B1%9F%E8%A5%BF%E7%9C%81/19438118 title江西省江西省介绍/a
[https://baike.baidu.com/item/%E5%B9%BF%E4%B8%9C%E7%9C%81/132473, https://baike.baidu.com/item/%E6%B1%9F%E8%A5%BF%E7%9C%81/19438118]
https://baike.baidu.com/item/%E5%B9%BF%E4%B8%9C%E7%9C%81/132473
https://baike.baidu.com/item/%E6%B1%9F%E8%A5%BF%E7%9C%81/19438118