2014-09-30 82 views
1

您能否提供一個更好的方式來寫:接通正則表達式匹配

for r in replacements: 

    m = pattern_1.match(r) 
    if m: 
     a.append((r,m.group(1),m.group(2),m.group(3))) 
     continue 

    m = pattern_2.match(r) 
    if m: 
     b.append((r,m.group(1),m.group(2),m.group(3))) 
     continue 

    if "import" in r: 
     c.append(r) 
    else: 
     d.append(r) 

我試圖"if pattern_1.match(r) as m:"卻得到了一個無效的語法錯誤。這是未來的功能嗎?我使用2.6。

回答

2
for r in replacements: 
    for pattern, dest in zip([pattern_1, pattern_2], [a, b]): 
    m = pattern.match(r) 
    if m: 
     dest.append((r,m.group(1),m.group(2),m.group(3))) 
     break 
    else: 
    (c if "import" in r else d).append(r)