分享

Python:re正则简单介绍

 江海博览 2023-11-14 发布于浙江

一、正则表达式

正则是用来匹配字符串的一门表达式语言

测试正则的网站: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.正则分组

(?P<变量名>.*?)

二、 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中

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多