在python中使用正则表达式从段落块中获取所需的字段值

在python中使用正则表达式从段落块中获取所需的字段值,python,regex,Python,Regex,我有一个文本文件,从中我提取了这两个段落块。下面给出了文本示例 文本示例: 免责声明,有效期为2020年10月19日- 尼尔森·德·布里托·利马,ID功能编号:2100423-4 协调委员会,símboloDAS-8,协调委员会 服务中心,服务中心主管 中央秘书处,地方秘书处,地方秘书处 计划制定者(Estado de Planejamento e Gestão)。工序编号: SEI-120001/010643/2020 免罪人,一名佩蒂多,娜迪亚·中村维埃拉,身份证职能编号: 5099589-

我有一个文本文件,从中我提取了这两个段落块。下面给出了文本示例

文本示例:

免责声明,有效期为2020年10月19日- 尼尔森·德·布里托·利马,ID功能编号:2100423-4 协调委员会,símboloDAS-8,协调委员会 服务中心,服务中心主管 中央秘书处,地方秘书处,地方秘书处 计划制定者(Estado de Planejamento e Gestão)。工序编号: SEI-120001/010643/2020

免罪人,一名佩蒂多,娜迪亚·中村维埃拉,身份证职能编号: 5099589-8,货物运输委员会特别评估员 DG工程计划秘书处。过程编号SEI-150001/004627/2020

免责声明,于2020年11月26日生效, 布鲁诺·拉斐尔·罗查·科斯塔,ID职能编号:5108093-1
,货运委员会
评估员
,símboloDAS-7评估员 普莱尼亚曼托大教堂,院长,院长- 里约热内卢-苏德尔港,埃斯塔多秘书处 德埃斯波特,Lazer e Juventude。工序编号:SEI- 3 0 0 0 2/0 0 0 4 11/2 0 2 0

免责声明,于2020年11月16日生效, 路易斯·亨里克·费雷拉·德·阿基诺 1914315-0,货物运输委员会第二次援助,símboloDAI-6,da 计划执行秘书处。过程编号:SEI120001/014825/2020

r"\b(?:(?:EXONERAR|d[ae]|por|símbolo)\s([^,]+?)(?: e Gestão)?,|\b(?!SEI\b)([A-Z\d]+-\s*\d+)|SEI-\s*([\d /]+)\b)"
从上面的文本块中,我只想获取每个段落中作为单独一行的粗体

我所尝试的

r"\b(?:(?:EXONERAR|d[ae]|por|símbolo)\s([^,]+?)(?: e Gestão)?,|\b(?!SEI\b)([A-Z\d]+-\s*\d+)|SEI-\s*([\d /]+)\b)"
我的当前输出:


我当前的输出几乎正常,但存在不匹配所有必需部分(例如大写名称部分)的问题。

对于粗体大写部分,您可以添加一个替代项,匹配1个或多个大写单词,以空格字符或连字符分隔,并以逗号结尾

\b([A-Z]+(?:[\s-]+[A-Z]+)+(?=,)

对于粗体大写部分,您可以添加一个替换项,匹配1个或多个大写单词,以空格字符或连字符分隔,并以逗号结尾

\b([A-Z]+(?:[\s-]+[A-Z]+)+(?=,)

也许是这样?也许是这样<代码>[A-Z]+它捕获的是大写的名称,而不是国际字符。请参阅:@AlwaysAnny使用
\p{Lu}
像这样尝试可能在python中无效,获取错误
sre_常量。错误:错误转义\p在位置113处添加了
`之前类似的
\\p',但现在在python上捕获时产生了问题请不要这样做。我已经安装了regex软件包,它现在可以工作了。谢谢你的链接。早些时候,我看到了这个链接,但不确定它是否适合我。但当你建议我使用它,它是按照我的要求工作。非常感谢:)
[a-Z]+
它捕获的是大写的名称,但不是国际字符。请参阅:@AlwaysAnny使用
\p{Lu}
这样尝试可能在python中无效,获取错误
sre_常量。错误:位置113处的错误转义\p添加了
`之前类似的
\\p`但现在在python上捕获时产生了问题请不要这样做。我已经安装了regex软件包,它现在可以工作了。谢谢你的链接。早些时候,我看到了这个链接,但不确定它是否适合我。但当你建议我使用它,它是按照我的要求工作。万分感谢:)