我正在 try catch 标题/小节中的文本及其后的项目符号列表:
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 及其项目符号列表外,该表达式有效。解决方法是在 * Item F 之后添加两个尾随换行符 \n\n。知道如何匹配最后一部分,或者是否有更好的方法?
请您参考如下方法:
