为了账号安全,请及时绑定邮箱和手机立即绑定

Python中提取ASCII图形的正则表达式

Python中提取ASCII图形的正则表达式

青春有我 2021-07-12 16:04:29
为了学习,我试图使用正则表达式在一个更大的文本文件中找出一个给定的 ASCII 数字的所有出现。输入数字是| |###O| |示例更大的输入文件是  | |                                  ###O                                 | |           | |                                  ###O                                 | |              | |                                  ###O                                 | | 什么是简洁的正则表达式来找出那个大文件中所有出现的输入图形?
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

根据您希望匹配的宽松/精确程度,以下内容将慷慨地匹配看起来像您的 ASCII 艺术的东西:

(\s+)[|]\s[|]\s*\R+\s*\1###O\s*\R+\s*\1[|]\s[|]

由于它对空白很宽容,因此它也将匹配标识变得不稳定的艺术。如果你想更严格,这将很难,因为一个“符号”结束和新符号开始的重叠线。将其转换为仍然尊重缩进的正则表达式是我无法解决的问题,因为我想使用简单的反向引用而不是后视。


查看完整回答
反对 回复 2021-07-21
?
智慧大石

TA贡献1946条经验 获得超3个赞

对于给定的情况,捕获它的正则表达式是:

 "\s*\| \|\s*###O\s*\| \|"

只需使用rePython 中的包计算出现次数


查看完整回答
反对 回复 2021-07-21
  • 2 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信