regex - 正则表达式:匹配多行表达式
问题描述
首先,这并不能回答我的问题。我已经尝试了几乎所有这些,它们大多在明确指定的 1 个额外的新行内匹配。
问题:假设我有字典或任何其他类似 JSON 的对象。我在文件中有很多,我想匹配它们中的每一个。例如:
some_var = {
'foo': 'bar',
'list_foo': ['bar1', 'bar2'],
}
other_var = [
{
'foo1': 'bar1',
'foo2': True
},
{
'foo_list1': ['bar3', 'bar4'],
'foo2': 'bar2'
},
]
值可以是任何东西,但 dict。所以没有嵌套的字典。
我的最终目标是匹配每组之间的所有内容,{}
包括数字括号(可选,但可取)。所以当我运行正则表达式时,我会得到这些匹配:
{
'foo': 'bar',
'list_foo': ['bar1', 'bar2'],
}
{
'foo1': 'bar1',
'foo2': True
}
{
'foo_list1': ['bar3', 'bar4'],
'foo2': 'bar2'
}
我的关闭尝试之一是:
\{(.*\n)*\}
但它匹配文件中第一个{
和最后}
一个之间的所有内容。还有许多其他尝试,但没有一个适用于可变字典大小。
我在 PyCharm 中运行这个正则表达式,试图快速重构一些代码。
请不要提供解决方法。我已经以不同的方式解决了这个问题,但我仍然对这个确切的解决方案感到好奇。
解决方案
推荐阅读
- prolog - 如何摆脱序言中的重复项?
- java - 从大型未排序数组中删除重复项并保持顺序
- nginx-location - 为HTTP流量配置Nginx的反向代理出现403
- c# - 如何在新数据列中设置格式日期时间
- docker - Docker 容器失败,找不到文件
- javascript - 无法从 jquery 函数在 textarea 中添加###Name###
- python - pandas groupby 中未来行的条件搜索
- amazon-web-services - SES 模板/电子邮件无法呈现日文文本
- javascript - 如何在 react.js 中使用 iframe
- postgresql - postgresql 重建索引和重新创建索引有什么区别,哪个更好?