在python中使用正则表达式解析重复输入

在python中使用正则表达式解析重复输入,python,regex,Python,Regex,我是python新手,从未使用过正则表达式,有人要求我在项目中使用它。 我的输入文件使用以下样式: tag <itemname> { <subitem> <subitem> -> possible relationship <~subitem> -> this is all irrelevant <more subitems> } 标签{ ->可能的关系 ->这一切都无关紧要 }

我是python新手,从未使用过正则表达式,有人要求我在项目中使用它。 我的输入文件使用以下样式:

tag <itemname> {
    <subitem>
    <subitem> -> possible relationship
    <~subitem> -> this is all irrelevant 
    <more subitems> 
} 
标签{
->可能的关系
->这一切都无关紧要
} 
用不同的标签和不同长度的不同数据一遍又一遍地重复。我需要将其转换为json,并且使用单元测试,我已经找到了如何可靠地完成这项工作的方法,因为我有一个这样的方法,但我无法找到如何可靠地解析一个文件,该文件在一个“标记”上有数千个结构


基本上,我试图找出如何从文件中重复读取第一行(itemname)和下面两个大括号之间的所有内容,并理想地将其转换为我可以使用的可编辑形式。谁能给我一些建议吗

如果你有这样一根弦-

tag <itemname> {
    <subitem>
    <subitem> -> possible relationship
    <~subitem> -> this is all irrelevant 
    <more subitems> 
} 

tag <itemname> {
    <subitem>
    <subitem> -> possible relationship
    <~subitem> -> this is all irrelevant
    <more subitems>
    <more subitems>
}

现在,您可以对每个标记运行自己的解析。

您能告诉我们输出JSON应该是什么样子吗?我已经制作了一个方法,可以将其中一个转换为JSON输出,并且可以正常工作。物体比我在这里说的要复杂一点,但那部分已经处理好了。我的问题是我在一次挑出一个对象时遇到困难,我只需要帮助基本上选择两个大括号内的所有对象,而不考虑内容以及前面的线条。如果能看到我能添加的所有内容真的有帮助的话