2014-02-12 245 views
-1

在python're'模塊中,我想使用大量的re.findall()和re.sub()的一百萬次調用。我想在一個字符串中查找所有出現的模式,然後用一個固定的字符串替換它們。防爆。字符串中的所有日期都以列表的形式返回,並在原始列表中將其替換爲'DATE'。我怎樣才能將兩者結合爲一體?加速python正則表達式匹配

回答

1

​​3210的替換的參數可以是一個可調用:

dates = [] 
def store_dates(match): 
    dates.append(match.group()) 
    return 'DATE' 

data = re.sub('some-date-string', store_dates, data) 

# data is now your data with all the date strings replaced with 'DATE' 
# dates now has all of the date strings that matched your regex