我正在尝试捕获标题/子部分中的文本以及它后面的项目符号列表:
re.finditer('(?!^\* )(?P<description>^.+?)(?P<items>^\* .+?^)(?!^\* )',
text, flags=re.DOTALL | re.MULTILINE)
使用此示例文本:
Header A
Subheader A
* Item A
* Item B
* Item C
Header B
Subheader B
Description B
* Item 1
* Item 2
* Item 3
Random Header C
* Item X
* Item Y
* Item Z
除Random Header C
及其子弹列表外,该表达式有效。解决方法是在\n\n
之后添加两个尾随换行符* Item F
。知道如何匹配最后一节或者有更好的方法吗?
答案 0 :(得分:2)