2016-03-25 81 views
-1

我查看了几个如何实现重叠匹配的示例。答案似乎是lookahead断言,所以我用,但我得到一个错误(我在正则表达式很弱,所以请原谅愚蠢的错误!)。尝试打印所有重叠匹配时出现正则表达式错误

问题:查找字符串#__#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#__#__#_________####_#_##__中字符串_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#(即16对)的所有重叠匹配。我可以看到至少有两场比赛。

这是我试过的代码:

import re 
pattern = r'?=((_#){16})' 
row='#__#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#__#__#_________####_#_##__' 
re.finditer(pattern, row) 

会抛出一个异常说“没有重复”。请帮我理解我做错了什么。

回答

-1

有趣,但我设法找到它自己。我错过了lookahead表达式的括号!它必须是(?=...)而不是?=...

相关问题