一、正则表达式 正则是用来匹配字符串的一门表达式语言 测试正则的网站:https://tool.oschina.net/regex 1.支持普通字符 2.支持元字符,用一个符号来匹配一堆内容(列举常用的) \d 能够匹配一个数字(0-9)
\w 能够匹配数字,字母,下划线(0-9,A-Z,a-z)
\W 除了数字、字母和下划线以外的内容,跟\w相反
\D 除了数字以外的内容 跟\d相反
[] 例如:[abc] 匹配a或者b,或者c,或的关系
[^] 例如:[^abc] 匹配除abc以外的字符 3.支持量词 :控制前面字符出现的频次
4.惰性匹配,即与最相近的匹配 .*? or .+? 例: 去河边骑自行车,明天上午一起骑自行车,干嘛呢?骑自行车。 贪婪模式: 去.*骑自行车 贪婪匹配:去河边骑自行车,明天上午一起骑自行车,干嘛呢?骑自行车 惰性匹配: 去.*?骑自行车 惰性匹配 去河边骑自行车 5.正则分组
二、 Python 内置的模块re 常用到的函数: re.findall() 全局搜索,匹配所有符合条件的内容,并以列表形式返回 re.search() 全局搜索,匹配到地第一个符合条件的内容,返回match对象 re.finditer() 全局搜索,返回一个迭代器。 re.compile() 将正则表达式字符串编译成一个正则表达式对像(pattern object) 方便后续的正则操作 re.comile(正则表达式,flag) flag(常用的flag) re.S 使'.’可以匹配任何字符,包括换行符。 re.I 忽略大小写 具体的实例操作,不一一列举,可参照re文档:re --- 正则表达式操作 — Python 3.12.0 文档 使用正则编写的爬虫实例,查看文章:Python:使用正则爬虫城市天气并写入到excel中 |
|