返回字符串匹配正则表达式

时间:2013-10-25 14:29:56

标签: python regex search text return

我有一个文本文件,其中我想要提取一行与某个模式匹配的行。我可以使用正则表达式搜索该行并将其返回,然后再使用它吗?有没有比

更优雅的方式
for lines in file:
    if re.match(targetregex,line)!=None:
        print line

类似的东西:

print re.matchingline(targetregex,file.read())

3 个答案:

答案 0 :(得分:2)

你可以使用列表理解,就像这样

print [line for line in file  if re.match(targetregex, line)]

它将返回与正则表达式匹配的行列表。

答案 1 :(得分:1)

你总是可以编写自己的功能来完成这项工作。

def matchingline(regex, file):
    compiled = re.compile(regex)
    for line in file:
        if compiled.match(line):
            return line

print(matchingline(targetregex, file))

答案 2 :(得分:-1)

如果你想要一个数组numpy.fromregex看起来很优雅。