python 正则表达式

一、特殊字符-需要转义

python 正则表达式_第1张图片

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博客

你可能感兴趣的:(正则表达式)