我正在try 使用Python re.子模块,将下面示例中的任何false实例替换为"false,\n"

local Mission = {

    start_done = false
    game_over = false

} --End Mission

我try 过以下方法,但没有成功的替代品.我的 idea 是,我以锚字符串开始和结束,跳过任何不是"false"的内容,当我得到匹配时返回"false+",".任何帮助都将不胜感激!

re.sub(r'(Mission = {)(.+?)(false)(.+?)(} --End Mission)', r'\1' + ',' + '\n')

推荐答案

你可以用

re.sub(r'Mission = {.*?} --End Mission', lambda x: x.group().replace('false', 'false, \n'), text, flags=re.S)

regex demo.

Notes:

  • Mission = {.*?} --End Mission个正则表达式匹配Mission = {个字符,然后匹配任何零个或多个字符,数量为个字符,然后匹配} --End Mission个字符
  • 然后在匹配的文本中用false, \n替换false.

参见Python demo:

import re
text = 'local Mission = {\n    start_done = false\n    game_over = false\n\n} --End Mission'
rx = r'Mission = {.*?} --End Mission'
print(re.sub(rx, lambda x: x.group().replace('false', 'false, \n'), text, flags=re.S))

Python相关问答推荐

即使在可见的情况下也不相互作用

标题:如何在Python中使用嵌套饼图可视化分层数据?

Excel图表-使用openpyxl更改水平轴与Y轴相交的位置(Python)

在Pandas DataFrame操作中用链接替换'方法的更有效方法

如何从.cgi网站刮一张表到rame?

根据列值添加时区

在两极中过滤

如果初始groupby找不到满足掩码条件的第一行,我如何更改groupby列,以找到它?

pandas:对多级列框架的列进行排序/重新排序

Python避免mypy在相互引用中从另一个类重定义类时失败

使用polars. pivot()旋转一个框架(类似于R中的pivot_longer)

Python—在嵌套列表中添加相同索引的元素,然后计算平均值

Autocad使用pyautocad/comtypes将对象从一个图形复制到另一个图形

操作布尔值的Series时出现索引问题

如何使用Polars从AWS S3读取镶木地板文件

按最大属性值Django对对象进行排序

在不降低分辨率的情况下绘制一组数据点的最外轮廓

Django查询集-排除True值

为什么fizzbuzz在两个数字的条件出现在一个数字的条件之后时不起作用?

大Pandas 每月重新抽样200万只和300万只