我正在尝试使用RegEx从文件中读取矩阵。该文件由几个strng,\ n characteres,空格和浮点数组成。我想读取仅三个或更多个连续浮点的集合。代码的例子如下:
DATA.TXT
$Nodes
5
1 0 0 0
2 1 0 0
3 1 1 0
4 0 1 0
5 0.5 0.5 0
$EndNodes
$Values
5
1 1.5 3.6
2 1.5 3.4
3 1.5 3.3
4 1.5 3.5
5 1.5 3.1
$EndValues
在我的read_file.py中,我有:
def read_file(filename):
text = str()
with open(filename) as file:
lines = file.readlines()
for line in lines:
text += line
return text
我的read_file函数的最终输出是一个包含整个文本的大字符串,所以我可以使用RegEx一次找到我喜欢的任何内容。 好吧,我想阅读所有三个数字的集合(在$ Nodes之后\ n5和$ EndNodes \ n之前)。
我尝试了很多东西,例如re.compile(r'\$Nodes (.*)\$EndNodes')
和许多其他角色组合,但似乎没有任何效果。
我最终需要的是:
list_of_nodes = [('1', '0', '0', '0'), ('2', '1', '0', '0'), ('3', '1', '1', '0'), ('4', '0', '1', '0'), ('5', '0.5', '0.5', '0')]
任何帮助都会被贬低。提前谢谢,