【发布时间】:2014-11-23 16:47:42
【问题描述】:
我希望我的脚本在特定文件 (text.txt) 中搜索“JOL:”; “哭:”; “LAY:”,如果它没有找到“JOL:”,我希望它搜索“CRY:”,如果它没有找到“CRY:”来寻找“LAY:”。 问题是我不知道是否可以在“匹配”命令中包含“Elif”,如果是这样的话......如何?
import re, os
mykey = open("text.txt", "r")
take = open("take.txt", "w")
match = re.search ('"JOL":"(.+?).tr', text)
match2 = re.search('"CRY":"(.+?).tr', text)
match3 = re.search ('"LAY":"(.+?).tr', text)
for text in mykey:
if match:
print >> take, match.group(1)
elif match:
print >> take, match2.group(1)
elif match:
print >> take, match3.group(1)
谢谢
【问题讨论】:
-
为什么你的
print声明中有>>? -
您有 3 个不同的正则表达式,它们对应于 3 个不同的
match变量。如果您要测试类似 如果我没有找到与第一个模式匹配的内容,我会尝试使用 other 匹配,如果我仍然找不到任何内容,我会尝试与第三个匹配? -
@pad:这就是在 Python 2.x 中打印到文件的方式:stackoverflow.com/a/9316160/47453
-
@BorrajaX 是的,我正在尝试这样做。但是如何?
-
@BillLynch 整洁,谢谢!
标签: python if-statement match