Python 正在提取<;之间的特定字符串;及>;

Python 正在提取<;之间的特定字符串;及>;,python,regex,python-3.x,Python,Regex,Python 3.x,我试图使用libraryre从文件中获取一些数据。我需要的数据如下所示: g:=Graph<5|{ {2, 3}, {4, 5}, {1, 3}, {1, 2}, {1, 5}, {1, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 4} }> 但它不起作用(它返回的是一个空列表)。有人能帮我吗?我很抱歉,如果这是非常琐碎,但我没有经验 文本文件中有许多文本解释不同类型的图形,这就是为什么它有许多相同类型的图形。您可以对{digit,digit}部分使用重复模式,

我试图使用library
re
从文件中获取一些数据。我需要的数据如下所示:

g:=Graph<5|{ {2, 3}, {4, 5}, {1, 3}, {1, 2}, {1, 5}, {1, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 4} }>
但它不起作用(它返回的是一个空列表)。有人能帮我吗?我很抱歉,如果这是非常琐碎,但我没有经验


文本文件中有许多文本解释不同类型的图形,这就是为什么它有许多相同类型的图形。

您可以对{digit,digit}部分使用重复模式,并捕获组中的值

g:=Graph<(\d+\|{ {\d+, \d+}(?:, {\d+, \d+})* })>

您可以使用以下正则表达式:

g:=Graph<([^>]+)>
g:=Graph]+)>

否则,您的语法是正确的。

您的意思是使用捕获组吗
g:=Graph
您使用的是
re.findall
,这表明输入文件Graphs.txt中存在多个事件。请提供一份报告。您可能需要输入行分隔符和/或启用
re.MULTILINE
。编辑:我还注意到你的正则表达式有
但是示例数据没有。那是怎么回事?请详细说明
不工作的情况。你到底希望发生什么?会发生什么情况?@Thefourthbird您的解决方案有效,如果您想将其作为答案发布,以便我可以选择它。@wjandrea我已经得到了解决方案,但我将更新我的问题,以便您可以看到哪里出了问题。谢谢你的评论。
g:=Graph<([^<>]+)>
g:=Graph<([^>]+)>