gpt4 book ai didi

python - 从文本文件中提取文本 block 的正则表达式?

转载 作者:行者123 更新时间:2023-11-28 22:08:48 25 4
gpt4 key购买 nike

我需要使用正则表达式从 Python 文本文件中提取标题及其下方的文本 block ,但我发现这很难。

我转换了这个 PDF文本,使其现在看起来像这样:

img

到目前为止,我已经能够使用以下正则表达式获取所有数字 header (12.4.5.4、12.4.5.6、13、13.1、13.1.1、13.1.12):

import re

with open('data/single.txt', encoding='UTF-8') as file:

for line in file:
headings = re.findall(r'^\d+(?:\.\d+)*\.?', line)
print(headings)`

我只是不知道如何获取这些标题的措辞部分或它们下面的文本段落。

编辑 - 这是文本:

I.S. EN 60601-1:2006&A1:2013&AC:2014&A12:2014

60601-1 © IEC:200560601-1 © IEC:2005

– 337 –– 169 –

12.4.5.4 其他产生诊断或治疗辐射的ME设备适用时,制造商应在风险管理过程中解决与产生诊断或治疗辐射的 ME 设备相关的风险用于诊断 X 射线和放射治疗(见 12.4.5.2 和 12.4.5.3)。

通过检查风险管理文件来检查合规性。

12.4.6 诊断或治疗声压适用时,制造商应在风险管理过程中解决与诊断或治疗声压相关的风险。

通过检查风险管理文件来检查合规性。

13 * 危险情况和故障情况

13.1 特定危险情况

  • 一般

13.1.1当应用 4.7 中描述和 13.2 中列出的单一故障条件时,一个在时间,13.1.2 至 13.1.4(含)中的任何危险情况均不得发生在我的设备。

一次任何一个组件的故障都可能导致危险情况,这是在 4.7 中描述。

  • 排放、外壳变形或超过最高温度

13.1.2不得发生下列危险情况:– 火焰、熔融金属、有毒或可燃物质在危险环境中的排放

数量;

——外壳变形到不符合 15.3.1 的程度;–

应用部分的温度超过表 24 中确定的允许值时按 11.1.3 所述测量;不是应用部分但可能是应用部分的 ME 设备部件的温度触摸,超过表23中的允许值时测量和调整为11.1.3 中描述;

-

– 超过表 22 中确定的“其他组件和 Material ”的允许值乘以 1.5 减去 12.5 °C。表 26、表 27 和表 31 中列出了绕组的限制。在所有其他情况下,表 22 的允许值适用。

应使用 11.1.3 中描述的方法测量温度。

4.7、8.1 b)、8.7.2 和 13.2.2 中关于排放的单一故障条件火焰、熔融金属或可燃物质,不得应用于零部件在哪里:– 结构或供电电路限制了单一故障中的功耗

CONDITION 小于 15 W 或能量耗散小于 900 J。

最佳答案

您可以使用您的模式并在它后面匹配一个空格,然后是该行的其余部分。

然后重复匹配以下所有不以标题开头的行。

^\d+(?:\.\d+)* .*(?:\r?\n(?!\d+(?:\.\d+)* ).*)*
  • ^\d+(?:.\d+)* 匹配标题后跟空格的模式
  • .* 匹配除换行符以外的任何字符 0+ 次
  • (?: 非捕获组
    • \r?\n 匹配一个换行符
    • (?! 否定前瞻,断言直接在右边的不是
      • \d+(?:.\d+)* 标题模式
    • ) 关闭前瞻
    • .* 匹配除换行符以外的任何字符 0+ 次
  • )* 关闭非捕获组,重复0+次匹配所有行

Regex demo

关于python - 从文本文件中提取文本 block 的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58156300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com