如何匹配重複組內的重複組?正則表達式:獲取嵌套重複組
例如讓所有有效記錄在日誌文件中:
---:
TS : 150602000006S
EC1: 02429.523
EC2: 05604.110
---
---:
TS : 150603000006S
---:
TS : 150603000006S
EP1: 3333.523
---
像下面的比賽:
:[
[
['TS ', '150602000006S'],
['EC1', '02429.523'],
['EC2', '05604.110']
],
[
['TS', '150603000006S'],
['EP1', '3333.523']
]
]
檢索單個記錄性能可與(See on regex101)完成
([A-Z0-9 ]{3,3}): ([0-9SW]+)?([0-9\.SW]{3,})\n
但是,當將正則表達式放入記錄組(like seen here)時,屬性組將以重複的方式停止匹配。
這是如何正確完成的?
可能不會與正則表達式... – Mena
@Mena爲什麼這不可能? – JasperJ
我並不是說它絕對不可能,但通常,正則表達式對於將文本解析爲給定語法不是上下文很好(例如,針對標記的正則表達式通常是一個非常糟糕的主意)。當嵌套元素和嵌套規則時,正則表達式很快會變得非常麻煩。假設你找到了匹配你的分層記錄的正確方法,那麼表達本身就會很長,可能無法讀取,而且很難維護。通常你會想爲這個實現你自己的解析器。 – Mena