如何在python中使用正则表达式从多行字符串中删除特定字符
我有一个如下所示的多行字符串:
st = '''emp:firstinfo\n:secondinfo\nthirdinfo'''
print(st)
我正在尝试做的是从我的字符串中跳过第二个’:’,并获得如下所示的输出:
'''emp:firstinfo\nsecondinfo\nthirdinfo'''
简单说,如果它以’:'开头,我只想忽略它。
这是我所做的:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
mat_obj = re.match(r'(.*)\n*([^:](.*))\n*(.*)' , st)
print(mat_obj.group())
显然,我没有看到我的错误,但是谁可以帮助我告诉我哪里出错了吗?
1 Answer:
您可以在此正则表达式中使用re.sub:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> print (re.sub(r'([^:\n]*:[^:\n]*\n)\s*:(.+)', r'\1\2', st))
emp:firstinfo
secondinfothirdinfo
正则表达式详细信息:
(: 开始第一个捕获组
[^:\n]*: 匹配0个或多个不是:的任何字符和换行符
:: 匹配冒号
[^:\n]*: 匹配0个或多个不是:的任何字符和换行符
\n: 匹配换行
): 结束第一个捕获组
\s*: 匹配0个或多个空格
::匹配一个冒号
(.+): 匹配第二个捕获组中的任何一个或多个字符(换行符除外)
\1\2: 用于替换组1和2中捕获的子字符串。
2 Answer:
您可以改用sub,只是不要捕获不需要的部分。
(.*\n)[^:]*:(.*\n)(.*)
\1\2\3
替换为
import reregex = r"(.*\n)[^:]*:(.*\n)(.*)"test_str = ("emp:firstinfo\\n\n"" :secondinfo\\n\n"" thirdinfo")subst = "\\1\\2\\3"# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
如何在python中使用正则表达式从多行字符串中删除特定字符相关推荐
- python正则判断纯数字_Python 正则表达式匹配数字及字符串中的纯数字,
Python 正则表达式匹配数字及字符串中的纯数字, Python 正则表达式匹配数字 电话号码:\d{3}-\d{8}|\d{4}-\d{7} QQ号:[1-9][0-9]{4,} 中国邮政编码:[ ...
- python跨行字符串 变量_在Python中有没有在多行字符串中使用变量的方法?
所以我把这个作为邮件发送脚本的一部分:try: content = ("""From: Fromname To: Toname MIME-Version: 1.0 Con ...
- ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串
题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...
- 正则表达式匹配多个字符串中的一个
正则表达式匹配多个字符串中的一个 当我们采集数据时,会用到正则匹配功能 (前缀)(?<content>[\s\S]*?)(后缀) 例如采集产品多图时,前缀与后缀部分一般情况下是不相同的,这 ...
- 如题,如何在IDEA的settings属性中,通过设置快捷键实现字符串中的英文字母转大小写?
如题,如何在IDEA的settings属性中,通过设置快捷键实现字符串中的英文字母转大小写? Ctrl + Shift+u
- php 取字符串中的字母数字,php如何提取字符串中的数字?php提取字符串中数字的方法总结(附代码)...
本篇文章给大家带来的内容是关于php如何提取字符串中的数字?php提取字符串中数字的方法总结(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. PHP提取字符串中的第一组数字 ...
- php中的strncmp,PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
本文实例讲述了PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法.分享给大家供大家参考,具体如下: PHP中的strncmp()函数用于比较两个字符串(区分大小写),可判断两个字符串 ...
- php strncmp,PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
本文实例讲述了PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法.分享给大家供大家参考,具体如下: PHP中的strncmp()函数用于比较两个字符串(区分大小写),可判断两个字符串 ...
- Python一题三解:查找字符串中每个字符的首次出现
题目要求: 查找字符串中每个字符的首次出现.给定一个任意字符串,要求得到一个新字符串,重复字符只保留一个,并且新字符串中的字符保持在原字符串中首次出现的先后顺序.例如,abcdaaabe处理后应得到a ...
最新文章
- 玩转 JavaScript 面试:何为函数式编程?
- SKU表管理之查询获取sku表列表数据
- 文献管理工具mendeley登录问题
- 排序算法复习—希尔排序
- chrome 90的新功能(new feature in chrome 90)
- 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建
- python爬取豆瓣书籍_python爬取豆瓣书籍排行
- 小甲鱼零基础入门python课后作业及答案_小甲鱼python视频第四讲(笔记及课后习题答案)...
- Java三大特性详解
- 计算机无法启动打印服务,电脑重启print spooler服务无法启动怎么处理
- 39个大数据可视化工具 数据研究必备
- 电脑计算机睡眠和休眠模式区别,电脑休眠和睡眠的区别?
- Oracle、mysql产品性能优化总结
- windows 打印机管理机制(任务后台等待机制)
- 变分法:在图像处理中的应用(一)
- 数字控制增益的放大器的设计
- c语言代码查错软件,Ubuntu下面的C语言代码检查工具 Splint
- 国内外,网络安全厂商都有哪些?
- 怎么洗掉衣服上的水粉颜料、丙烯颜料、水彩颜料、油画颜料
- YOLOv5全面解析教程③:更快更好的边界框回归损失
热门文章
- Specified VM install not found: type Standard VM, name jdk1.6_ 的疑问
- HDU1257 最少拦截系统(下降自序列个数)
- tomcat服务器介绍之二 、session服务器实现方法
- linux tomcat自启动设置
- PHPExcel常用方法汇总
- 数据结构哪本书比较好_东莞工厂电动伸缩门固定在哪一边比较好?
- ABAP实例:如何设计和使用自定义的权限对象
- 对话找钢网创始人王东:电竞少年凭什么革了钢贸行业的命?
- MB1A MB1B MB1C MB11 MIGO的区别解析
- ABAP高级顾问应该掌握的技术