我想解析使用Python 3.2生成的ARFF文件。目前,我想寫一個正則表達式將讀取結構類似於Python正則表達式:如何在單個正則表達式內匹配多個子字符串?
@attribute sepallength {'\'(-inf-5.55]\'','\'(5.55-6.15]\'','\'(6.15-inf)\''}
線,並返回一個MatchObject,其組()函數返回
("sepallength", "'\\'(-inf-5.55]\\''", "'\\'(5.55-6.15]\\''", "'\\'(6.15-inf)\\''")
換句話說,我想寫一個正則表達式,它將匹配一個或多個遵循特定格式的子字符串。
我現在的嘗試是這樣的(行是一個字符串):
matches = re.match(r"@attribute (\w+) {(?:([^,]+),?)+}", line)
但它的組()函數返回只花括號內的模式相匹配的最後一個子:
('sepallength', "'\\'(6.15-inf)\\''")
爲什麼第二個加號不能使表達式匹配滿足我寫的非逗號規則的每個實例?我怎樣才能輕鬆獲得我想要的價值?
「無法完成」是正確答案v_v – sadakatsu 2014-04-24 05:26:31