python正则表达式记录
python支持很多通配符和转义字符作为正则的合法字符,记录少许
. 匹配任意单个字符 * 匹配前面的表达式或则字符 0次或者多次 + 匹配前面的表达式或者字符 至少一次 ? 匹配前面的表达式或则字符 0次或者1次 [A-Z] 任选一个 () 编组 {n} 重复n次 {n,} 重复n到多次 {n,m} 重复n到m次 a|b 或者
python使用 re 模块进行正则操作
import re
使用 re 模块进行正则匹配的时候注意区分贪婪匹配和惰性匹配。
# eg:玩儿吃鸡游戏,晚上一起上游戏。干嘛呢?打游戏啊。 .* 贪婪匹配(玩儿.*游戏-> 玩儿吃鸡游戏,晚上一起上游戏。干嘛呢?打游戏) .*? 惰性匹配(玩儿.*?游戏> 玩儿吃鸡游戏)
python 正则匹配方法记录 findall()、finditer()、search()、match() ... ...
import re # findall方法 匹配字符串中所有的符合正则的内容 返回 list list = re.findall(r"\d+", "我的电话是:10086。 另一个电话是10010。") print(list) # finditer方法 匹配字符串中所有的内容 返回迭代器 从迭代器拿到内容 iter = re.finditer(r"\d+", "我的电话是:10086。 另一个电话是10010。") for i in iter: print(i) # group() 从迭代器拿到内容 print(i.group()) # i.groupdict() 将所有的命名的group作为字典结构存储 # search 方法返回的是 match 对象。 拿数据需要 .group()。 找到一个结果就返回 s = re.search(r"\d+", "我的电话是:10086。 另一个电话是10010。") print(s.group()) # match 方法是从头开始匹配 ma = re.match(r"\d+", "我的电话是:10086。 另一个电话是10010。") print(ma) # None print("=================") # 预加载正则表达式 obj = re.compile(r"\d+") l = obj.findall("我的电话是:10086。 另一个电话是10010。") print(l)
# 下面的 (?P<groupName>) 十分重要 # 通过命名分组 group('groupName') 获取匹配到的数据 (?P<groupName>) 命名语法 group
欺骗自己最简单,欺骗自己最困难。
安慰自己最简单,安慰自己最困难。
分类:
python
标签:
python
, python正则匹配
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)