【发布时间】:2023-03-08 12:00:01
【问题描述】:
我有一个像这样的 pdf 提取文本
=========================================
标题
字幕
Lorem Ipsum 只是打印的虚拟文本
和排版行业。 Lorem Ipsum 已经
自 1500 年代以来的行业标准虚拟文本。
字幕
Lorem Ipsum 只是打印的虚拟文本和
排版行业。 Lorem Ipsum 一直是业界的
自 1500 年代以来的标准虚拟文本。
=========================================
每行末尾都有一个新行('\n')。
我正在尝试使用正则表达式查找给定的句子并提取找到它的段落。段落是两个连续新行之间的任何内容 (\n\n)。请注意,必须使用惰性方法完成。
仅供参考:
-
句子可以以一行开始,以另一行结束
-
我无法更改给定的文本格式
-
返回的行数是有限制的,所以如果我在上下10行之后找不到\n\n,我必须返回正则表达式关键字之前的10行和之后的10行
【问题讨论】:
-
为什么需要使用正则表达式?这听起来不像是一个正则表达式问题。
-
请详细说明惰性方法是什么意思。
-
这听起来像是家庭作业/作业 - 是吗?你写了什么代码?
-
这实际上是我正在研究的自动化。我有一个机器人,它可以提取 pdf 文件的页面,然后解析为一个字符串。之后,我必须在我解析的文本中找到一个句子并返回包含该句子的段落。我的想法是:我首先找到包含我的句子的行,然后在上面和下面附加行,直到找到一个空行(只有一个 \n)
-
所以,我必须使用正则表达式来查找文本中的句子。问题之一是我的句子可以以一行开头,以另一行结尾,所以我无法逐行搜索它,它一定比那更复杂