3

我有一个包含正则表达式模式列表和包含'\ n's'的字符串的文件,即一个带有单独行的字符串......我需要一个通用正则表达式,它可以将整行与正则表达式文件中的模式匹配,这样我就可以做类似的事情

re.compile(r'generic_regex%s') %regex_pattern from file 它会自动匹配整行,就像 grep 一样。

有任何想法吗??

4

2 回答 2

8

就像是:

>>> re.findall(r"(^.*?%s.*?$)" %expression, text, re.MULTILINE)

?

于 2012-08-05T16:32:20.283 回答
0

调整任何边界等...

import re
import mmap

def find_re(fname, rx): # rx is a compiled re object
    with open(fname) as fin:
        mm = mmap.mmap(fin.fileno(), 0, access=mmap.ACCESS_READ)
        return rx.findall(mm)

对于顺序访问应该很快...如果需要遍历多行,请重新处理正则表达式...

于 2012-08-05T16:43:05.693 回答