我正在尝试使用库re
从文件中获取一些数据。我需要的数据如下所示:
g:=Graph<5|{ {2, 3}, {4, 5}, {1, 3}, {1, 2}, {1, 5}, {1, 4}, {2, 4}, {3, 5}, {2, 5}, {3, 4} }>
因此它应该介于g:=Graph<
和>
之间。
我尝试了
with open('Graphs.txt') as f:
print(re.findall("g:=.*;;",f.read()))
,但是它不起作用(返回一个空列表)。有人可以帮助我吗?很抱歉,这很琐碎,但我没有经验。
文本文件中包含大量解释不同类型图形的文本,这就是为什么其中包含大量相同类型的图形的原因。
答案 0 :(得分:3)
您可以使用此正则表达式:
g:=Graph<([^>]+)>
否则,您的语法正确。
答案 1 :(得分:2)
您可以对{digit,digit}部分使用重复模式,并在组中捕获值。
g:=Graph<(\d+\|{ {\d+, \d+}(?:, {\d+, \d+})* })>
不那么严格的模式可能是使用与除<
或>
以外的任何char匹配的否定字符类
g:=Graph<([^<>]+)>