我有一个文本文件,其中我想要提取一行与某个模式匹配的行。我可以使用正则表达式搜索该行并将其返回,然后再使用它吗?有没有比
更优雅的方式for lines in file:
if re.match(targetregex,line)!=None:
print line
类似的东西:
print re.matchingline(targetregex,file.read())
答案 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看起来很优雅。