1

我正在编写一个脚本来检查目录中文件的内容。到目前为止,我得到的是一个包含各种字符串的列表,并且还想在搜索中包含一个传统的正则表达式。这是我到目前为止所拥有的:

regex = [ "STRING1", "STRING2", "STRING3", (?:<my regex here>)]
pattern = re.compile(regex)

我遇到了各种错误,并尝试了一些故障排除,将 r' 添加到正则表达式,在编译函数中使用 .join() ,显然我做错了什么。代码正确执行,但没有找到匹配项,所以很明显我的正则表达式编译不正确。那么,列出我要使用的正则表达式,然后在我的搜索中迭代该列表的正确方法是什么?

4

1 回答 1

2

您是否正在尝试做这样的事情?:

import re

# Pre-compile the patterns
regexes = [ re.compile(p) for p in [ 'this',
                                     'that',
                                     ]
            ]
text = 'Does this text match the pattern?'

for regex in regexes:
    print 'Looking for "%s" in "%s" ->' % (regex.pattern, text),

    if regex.search(text):
        print 'found a match!'
    else:
        print 'no match'

它取自PyMOTW

于 2013-05-23T17:22:39.810 回答