python 正则表达式提取字符串

这篇具有很好参考价值的文章主要介绍了python 正则表达式提取字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、提取字符串的场景及公式、命令

背景:目前遇到的场景主要是以某个字符串开始、某个字符串结束,提取中间部分的字符,有的时候需要开始的字符,有时不需要,大概涉及到了4种情况,场景及处理方式如下:

1.1 以某个字符开始、某个字符结束,期待的提取结果包含首末字符串

        提取公式:a = re.findall("开始字符串.*末字符串",str)

1.2 以某个字符开始、某个字符结束,期待的提取结果不包含末字符串,但包含首字符串

        提取公式:a = re.findall("开始字符串.*?(?=末字符串)",str)

        例子:提取文本中的所有时间,如图

python正则提取特定字符串,正则表达式

        提取命令

        time = re.findall("202.*?(?=,)",content)  # 也就是提取以202开头的,逗号结束的,且不包括逗号的

1.3 以某个字符开始、某个字符结束,期待的提取结果不包含首字符串,但包含末字符串:

        提取公式:a = re.findall("(?<=开始字符串).*末字符串",str)

1.4 以某个字符开始、某个字符结束,期待的提取结果不包含首、末字符串:

        提取公式1:a = re.findall("(?<=开始字符串).*?(?=末字符串)",str)

        提取公式2:a = re.findall(".*开始字符串(.*)末字符串*",str)

例子:提取mocro_step的数据值,前面是固定字符micro_step=,后面是固定字符/global_step,如图:

python正则提取特定字符串,正则表达式

       提取命令:

    micro_step = re.findall("(?<=micro_step=).*?(?=/global_step)", content)  # case4 方法1

    micro_step = re.findall(".*micro_step=(.*)/global_step*", content)  # case4方法2

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

        提取公式:a = re.findall('^.*结束字符串',str)

2、特殊字符-需要转义

2.1 需要转义的特殊字符

python正则提取特定字符串,正则表达式

2.2  转义符举例:提取r值也就是以字符串lr=[开头,逗号结尾之间的字符串,如图:

python正则提取特定字符串,正则表达式

提取命令: learning_rate = re.findall(".*lr=\[(.*?), *", content)

提取结果:

        -1.0274676347695078e-07

3、总结一下知识点,主要涉及了这几种情况

        a、提取的字符串需要包含起始字符串--上面的1.1

        b、提取的字符串不需要包含起始字符串--上面的1.2~1.4

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

                 解决办法:使用?

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

                解决办法:使用*

4、参考文章

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

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

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

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

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

到了这里,关于python 正则表达式提取字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

领支付宝红包 赞助服务器费用

相关文章

  • Python字符串验证与正则表达式【第23篇—python基础】

    随着Python在数据处理和字符串操作方面的广泛应用,对字符串进行验证以确保其仅包含字母变得愈发重要。在本文中,我们将深入探讨Python中多种方法,用于检查字符串是否只由字母组成,并且将关注这些方法的应用场景以及它们的优缺点。 在数据处理和文本挖掘中,对字符

    2024年01月17日
    浏览(92)
  • Python零基础入门(六)——超详细的字符串与正则表达式

    个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊 欢迎来到本系列教程的第六篇,之前的文章已经介

    2024年02月13日
    浏览(61)
  • 【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

       语言 是一种使用具有共同处理规则的沟通指令的广义概念,这些指令可以通过视觉、声音或触觉等方式传递。语言可以分为自然语言、动物语言和计算机语言。    自然语言 是人类发展过程中形成的一种信息交流方式,它包括口语和书面语,并且反映了人类的思想。

    2024年03月12日
    浏览(117)
  • mysql 正则表达式 提取 指定字符

    eg: 使用正则表达式来进行匹配替换: REGEXP_REPLACE(\\\'需要进行替换的字段‘, ‘被替换的’,‘替换的内容’) eg: 模式 说明 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘n’ 或 ‘r’ 之后的位置。 $ 匹配输入字符串的结束位置。

    2024年02月06日
    浏览(33)
  • 12.字符串和正则表达式

    正则表达式相关知识 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个

    2024年01月16日
    浏览(42)
  • 【编译原理】【词法分析】【正则表达式】【NFA】【DFA】【C++】正则表达式转DFA&NFA,判断字符串是否符合正则表达式的匹配算法

    显然,正则表达式、NFA、DFA的概念都很简单,所以直接上代码,注释应该解释地比较清楚, 没有万能头文件的自行替换需求库 ,如果有疑问的可以留言。 网盘链接 [自行补全]/s/1pbGT_wpB662TwFrnukXgGQ?pwd=TSIT 提取码:TSIT 原理可以参考这篇博客 传送门 本次程序由四个文件组成 文

    2024年02月11日
    浏览(69)
  • notepad++ 正则表达式查找特定字符串

    批量文本的处理方法 在报文中有很多指标和值都具有固定的格式,比如是  a=\\\"1\\\" 这类格式,那么我们只取前面的指标a,就会比较复杂,而使用正则表达式就会快乐许多! 采用以下第二种方法 查找目标 =(.+?)\\\"    表示查找以等号开头,引号和空格  结尾的字符串,可以避免查

    2024年02月15日
    浏览(38)
  • java之字符串与正则表达式

    目录 String 构造方法 注意 格式控制字符串 常用方法 StringBuilder与StringBuffer 特点 理解可变与不可变 字符串拼接方法 字符串删除方法 字符串内插入字符 字符串替换方法 字符串反转方法 查字符串对应索引处的字符  截取字符串 正则表达式 正则表达式符号表 正则表达式常用方

    2023年04月22日
    浏览(31)
  • 华为OD机试 - 提取字符串中的最长合法简单数学表达式(Java & JS & Python & C)

    题目描述 提取字符串中的最长合法简单数学表达式,字符串长度最长的,并计算表达式的值。如果没有,则返回 0 。 简单数学表达式只能包含以下内容: 0-9数字,符号+-* 说明: 所有数字,计算结果都不超过long 如果有多个长度一样的,请返回第一个表达式的结果 数学表达

    2024年02月02日
    浏览(34)
  • 正则表达式中 “$” 并不是表示 “字符串结束

    作者:Seth Larson 译者:豌豆花下猫@Python猫 英文:Regex character “$” doesn\\\'t mean “end-of-string” 转载请保留作者及译者信息! 这篇文章写一写我最近在用 Python 的正则表达式模块( re )开发 CPython 的 SBOM 工具时发现的一个令人惊讶的行为。 如果用过正则表达式,你可能知道 ^

    2024年04月15日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包