我有以下文字:先行斷言具有多個值
[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))
我失去了一些東西,雖然因爲它不匹配任何。有任何想法嗎?
請問'。*?'而不是'。*'有幫助嗎?見https://regex101.com/r/1RZ2rF/1 –