【发布时间】:2017-04-07 09:55:27
【问题描述】:
我有以下文字:
[red]
aaa [bbb] hello
[blue]
aaa
[green]
ccc
我想提取节标题之间的所有文本。我尝试了从特定节标题匹配到标题列表中的另一个标题的前瞻断言:
keys = ('red', 'blue', 'green')
for key in keys:
match = re.search(r'\[' + key + r'\](.*)(?=(?:' + '|'.join(keys) + r'|$))',
text, flags=re.DOTALL)
print(key, match.group(1))
我错过了一些东西,因为它不匹配任何东西。有什么想法吗?
【问题讨论】:
-
.*?代替.*有帮助吗?见regex101.com/r/1RZ2rF/1