我的正则表达式工作,我试图做的是有第一个读取文件和打印每次有匹配(这工作),然后当它发现匹配第二个表达式为它打印匹配。因此,在我导入的文件中,它会匹配所有数字,然后在找到“BREAK”后打印“BREAK”。我得到的是它在每次找到匹配的数字后打印“BREAK”。我的目标是在程序看到单词'BREAK'后停止搜索匹配号码。使用两个正则表达式来搜索一个文件
for m in re.finditer(r'((((2)([0-3]))|(([0-1])([0-9])))([0-5])([0-9]))', text):
print(m.group(0))
l=re.search(r'(BREAK)', text)
if l:
print(l.group(0))
任何想法?
亚伦,该行'L = re.search(R '(BREAK)',文本)'启动从文本的开始搜索,一次又一次,当发现一个新号码时 – bpgergo 2011-05-09 16:01:52
也许你应该添加一些样本输入文本和期望的输出。从我的角度来看,你想要的东西并不简单。我的猜测是,你想逐行阅读你的文件,并检查某一行是否与你的一个模式匹配。你也会想将_state_保存到一个变量中。所以你会知道你以前的比赛。希望这可以帮助。 – bpgergo 2011-05-09 16:06:13
这里是一些样本输入, 您好5月12日-1956 BREAK 月-12,2311 输出将是1956年 – Aaron 2011-05-09 16:16:01