加速python正则表达式匹配

时间:2014-02-12 06:09:19

标签: python regex

在python're'模块中,我想使用大量的调用~100万re.findall()和re.sub()。我想在字符串中找到所有出现的模式,然后用固定的字符串替换它们。防爆。字符串中的所有日期都作为列表返回,在原始列表中,它被“DATE”替换。我如何将两者结合成一个?

1 个答案:

答案 0 :(得分:1)

re.sub的replace参数可以是可调用的:

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