首页 > 脚本专栏 > python > python正则匹配字符

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

作者:weixin_43890704

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

一、提取包含始末字符

1、起始字符串固定

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

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

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

二、不包含始末字符串

a = re.findall('(?<=始字符串).*?(?=末字符串)',str) 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正则匹配提取中间内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • pytorch中backward()方法如何自动求梯度
    pytorch中backward()方法如何自动求梯度
    2023-02-02
  • python调用dll出现精度问题解决
    python调用dll出现精度问题解决
    2023-02-02
  • Python利用keras接口实现深度神经网络回归
    Python利用keras接口实现深度神经网络回归
    2023-02-02
  • 在python中如何建立一个自己的包
    在python中如何建立一个自己的包
    2023-02-02
  • python如何通过正则匹配指定字符开头与结束提取中间内容
    python如何通过正则匹配指定字符开头与结束提取中间内容
    2023-02-02
  • Numpy中扁平化函数ravel()和flatten()的区别详解
    Numpy中扁平化函数ravel()和flatten()的区别详解
    2023-02-02
  • Python 获取指定开头指定结尾所夹中间内容(推荐)
    Python 获取指定开头指定结尾所夹中间内容(推荐)
    2023-02-02
  • Python图形验证码识别教程详解
    Python图形验证码识别教程详解
    2023-02-02
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号