我有一个如下所示的多行字符串:

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中使用正则表达式从多行字符串中删除特定字符相关推荐

  1. python正则判断纯数字_Python 正则表达式匹配数字及字符串中的纯数字,

    Python 正则表达式匹配数字及字符串中的纯数字, Python 正则表达式匹配数字 电话号码:\d{3}-\d{8}|\d{4}-\d{7} QQ号:[1-9][0-9]{4,} 中国邮政编码:[ ...

  2. python跨行字符串 变量_在Python中有没有在多行字符串中使用变量的方法?

    所以我把这个作为邮件发送脚本的一部分:try: content = ("""From: Fromname To: Toname MIME-Version: 1.0 Con ...

  3. ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串

    题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...

  4. 正则表达式匹配多个字符串中的一个

    正则表达式匹配多个字符串中的一个 当我们采集数据时,会用到正则匹配功能 (前缀)(?<content>[\s\S]*?)(后缀) 例如采集产品多图时,前缀与后缀部分一般情况下是不相同的,这 ...

  5. 如题,如何在IDEA的settings属性中,通过设置快捷键实现字符串中的英文字母转大小写?

    如题,如何在IDEA的settings属性中,通过设置快捷键实现字符串中的英文字母转大小写? Ctrl + Shift+u

  6. php 取字符串中的字母数字,php如何提取字符串中的数字?php提取字符串中数字的方法总结(附代码)...

    本篇文章给大家带来的内容是关于php如何提取字符串中的数字?php提取字符串中数字的方法总结(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. PHP提取字符串中的第一组数字 ...

  7. php中的strncmp,PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法

    本文实例讲述了PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法.分享给大家供大家参考,具体如下: PHP中的strncmp()函数用于比较两个字符串(区分大小写),可判断两个字符串 ...

  8. php strncmp,PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法

    本文实例讲述了PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法.分享给大家供大家参考,具体如下: PHP中的strncmp()函数用于比较两个字符串(区分大小写),可判断两个字符串 ...

  9. Python一题三解:查找字符串中每个字符的首次出现

    题目要求: 查找字符串中每个字符的首次出现.给定一个任意字符串,要求得到一个新字符串,重复字符只保留一个,并且新字符串中的字符保持在原字符串中首次出现的先后顺序.例如,abcdaaabe处理后应得到a ...

最新文章

  1. 玩转 JavaScript 面试:何为函数式编程?
  2. SKU表管理之查询获取sku表列表数据
  3. 文献管理工具mendeley登录问题
  4. 排序算法复习—希尔排序
  5. chrome 90的新功能(new feature in chrome 90)
  6. 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建
  7. python爬取豆瓣书籍_python爬取豆瓣书籍排行
  8. 小甲鱼零基础入门python课后作业及答案_小甲鱼python视频第四讲(笔记及课后习题答案)...
  9. Java三大特性详解
  10. 计算机无法启动打印服务,电脑重启print spooler服务无法启动怎么处理
  11. 39个大数据可视化工具 数据研究必备
  12. 电脑计算机睡眠和休眠模式区别,电脑休眠和睡眠的区别?
  13. Oracle、mysql产品性能优化总结
  14. windows 打印机管理机制(任务后台等待机制)
  15. 变分法:在图像处理中的应用(一)
  16. 数字控制增益的放大器的设计
  17. c语言代码查错软件,Ubuntu下面的C语言代码检查工具 Splint
  18. 国内外,网络安全厂商都有哪些?
  19. 怎么洗掉衣服上的水粉颜料、丙烯颜料、水彩颜料、油画颜料
  20. YOLOv5全面解析教程③:更快更好的边界框回归损失

热门文章

  1. Specified VM install not found: type Standard VM, name jdk1.6_ 的疑问
  2. HDU1257 最少拦截系统(下降自序列个数)
  3. tomcat服务器介绍之二 、session服务器实现方法
  4. linux tomcat自启动设置
  5. PHPExcel常用方法汇总
  6. 数据结构哪本书比较好_东莞工厂电动伸缩门固定在哪一边比较好?
  7. ABAP实例:如何设计和使用自定义的权限对象
  8. 对话找钢网创始人王东:电竞少年凭什么革了钢贸行业的命?
  9. MB1A MB1B MB1C MB11 MIGO的区别解析
  10. ABAP高级顾问应该掌握的技术