python 正则表达式

一、特殊字符-需要转义

eg:转义符:

待匹配的字符串:lr的值,及下图中字符串lr=[和字符串,之间的数据

正则写法:    learning_rate = re.findall(".*lr=\[(.*?), *", content)

处理结果:

        -1.0274676347695078e-07

二、提取结果中需要包含开始结束的字符串

1、开始、结束的字符串是确定的

a = re.findall('起始字符串.*结束字符串',str)

2、起始字符串不固定(即从首字符串提取到固定的字符串结束),用^指定从首字符串开始

a = re.findall('^.*结束字符串',str)

三、

1、提取的字符串不要包含末字符串

2、提取的字符串不包含起始字符串

5、提取到的字符串如果匹配到多个,只截取到第一个,不要后面的部分

6、提取到的字符串如果匹配到多个,要匹配到的全部的字符串

四、例子

1、提取包含2023开头的,结束是逗号的字符串

字符串:

        [2023-09-22 12:55:47,865] [INFO] [logging.py:96:log_dist] [Rank 0] step=14660, skipped=0, lr=[-1.2329611617234227e-07, -1.2329611617234227e-07], mom=[(0.9, 0.999), (0.9, 0.999)]

正则1:time = re.findall("202.+?,", content)

结果1:2023-09-22 12:55:47,  

正则2:    time = re.findall("202.*?(?=,)",content)

结果2:2023-09-22 12:55:47

知识点: 

1、如果想要匹配某个字符串开头的且包含这个字符串的情况,则直接以这个字符串开头,然后

三、参考文章

Python正则表达式,这一篇就够了! - 知乎

python通过正则匹配指定字符开头与结束提取中间内容_python匹配字符串中间的文字-CSDN博客

Python正则表达式及常用匹配_python 正则表达式匹配_Sicc1107的博客-CSDN博客

python正则表达式--RE模块(转义r 和 \,贪婪模式与非贪婪模式) - 知乎

利用python 正则 读取txt文件中指定字符之间的数据,并保存到excel中_python txt 某两行中间的数据_洛星尘pro的博客-CSDN博客文章来源地址https://uudwc.com/A/Y63WG

原文地址:https://blog.csdn.net/qq_29707567/article/details/133271885

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年09月26日 16:04
下一篇 2023年09月26日 16:05