我正在嘗試使用RegEx從文件中讀取矩陣。該文件由幾個字符,\ n字符,空格和浮點數組成。我想讀取只有套三個或更多的連續浮點數。代碼的個例是如下:使用正則表達式讀取浮點矩陣
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功能的最終輸出是包含大串整個文本,所以我可以使用正則表達式來找到我喜歡的一切。 那麼,我想讀取所有三組數字(After $ 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')]
任何幫助將apreciated。在此先感謝,
請發佈準確的預期輸出。如果你確切的要求,它也會有所幫助。 –
完成!剛剛更新了我所需要的問題。 – Gabs
順便說一下,我仍然在學習ReGex,所以這篇文章(https://stackoverflow.com/questions/1870954/python-regular-expression-across-multiple-lines)對我來說太過先進了.. – Gabs