python如何通过正则匹配指定字符开头与结束提取中间内容

 更新时间:2023年02月20日 14:58:59   作者:weixin_43890704  
这篇文章主要介绍了python通过正则匹配指定字符开头与结束提取中间内容的操作方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、提取包含始末字符

1、起始字符串固定

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

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

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

二、不包含始末字符串

#方法1
a = re.findall('(?<=始字符串).*?(?=末字符串)',str)
#方法2
a = re.findall('始字符串(.*?)末字符串',str)

在 re.findall()的方法中 '始字符串.末字符串’ 可以匹配到相同的值直到最后一个值;如果参数为 '始字符串.?末字符串’则只匹配到第一个值。其实使用.*和.+都能提取特定始末字符串中间的内容,下面顺便说下两者的区别。

三、.*和.+正则提取的区别

.:匹配任意字符
*:匹配0个或多个字符
?:非贪婪模式,在符合的条件下,尽可能少的匹配(尽可能短的匹配)

str2 = "aabab"
a = re.findall('a.*?b',str2)	#结果:['aab', 'ab']
b = re.findall('a.+?b',str2)	#结果:['aab']

.?:匹配aab和ab ,因为可以匹配0个字符,所以可以匹配得到ab
.+?:匹配aab,因为+必须a和b中间至少有一个字符,所以排除了ab

四、起始有无^的区别

str2 = "aabab"
c = re.findall('.*',str2)	#结果:['aabab', '']
d = re.findall('^.*',str2)	#结果:['aabab']

五、pandas对具体列的内容通过正则表达式进行数据提取

1.使用前要确保该列的类型统一,str或者float格式,最好事先通过astype强制转换一下

2.df[‘新列名’]=df[‘提取的列名’].str.extract(‘正则表达式’, expand = True)

六、遇到的报错

报错:pattern contains no capture groups
(翻译:模式不包含捕获组)
解决:根据docs ,您需要为 str.extract 指定一个捕获组(即括号)好,提取。

参考文章:

https://www.cnblogs.com/ZhangHT97/p/13427325.html
https://www.cnblogs.com/YouJeffrey/p/15209895.html

https://blog.csdn.net/dudu3332/article/details/111555572 

到此这篇关于python通过正则匹配指定字符开头与结束提取中间内容的文章就介绍到这了,更多相关python正则匹配提取中间内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python线程安全及多进程多线程实现方法详解

    python线程安全及多进程多线程实现方法详解

    这篇文章主要介绍了python线程安全及多进程多线程实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Pandas实现Dataframe的合并

    Pandas实现Dataframe的合并

    我们知道,在使用pandas处理数据的时候,往往会需要合并两个或者多个DataFrame的操作,那么本文就来介绍一下Pandas实现Dataframe的合并,感兴趣的可以了解一下
    2021-06-06
  • logging level级别介绍

    logging level级别介绍

    今天小编就为大家分享一篇logging level级别介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 简单了解python高阶函数map/reduce

    简单了解python高阶函数map/reduce

    这篇文章主要介绍了简单了解python高阶函数map/reduce,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • 使用Python编写脚本来生成随机密码

    使用Python编写脚本来生成随机密码

    在数字化时代,密码已成为我们保护个人信息和数据安全的重要手段,然而,手动创建复杂且难以猜测的密码是一项既繁琐又容易出错的任务,本文将详细介绍如何使用Python编写脚本来生成随机密码,并探讨其背后的原理和技术细节,需要的朋友可以参考下
    2024-10-10
  • python3:excel操作之读取数据并返回字典 + 写入的案例

    python3:excel操作之读取数据并返回字典 + 写入的案例

    这篇文章主要介绍了python3:excel操作之读取数据并返回字典 + 写入的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Python在Excel中添加数据条的代码详解

    Python在Excel中添加数据条的代码详解

    在Excel中添加数据条是一种数据可视化技巧,它通过条形图的形式在单元格内直观展示数值的大小,尤其适合比较同一列或行中各个单元格的数值,本文将介绍如何使用Python在Excel中的指定单元格区域添加数据条,需要的朋友可以参考下
    2024-10-10
  • 一篇文章教你用Python绘画一个太阳系

    一篇文章教你用Python绘画一个太阳系

    这篇文章主要给大家介绍了关于如何利用Python绘画一个太阳系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • Python爬虫之爬取二手房信息

    Python爬虫之爬取二手房信息

    这篇文章主要介绍了Python爬虫之爬取二手房信息,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • python3如何将docx转换成pdf文件

    python3如何将docx转换成pdf文件

    这篇文章主要为大家详细介绍了python3如何将docx转换成pdf文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03

最新评论