我想解析使用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