我最近开始使用 python 和正则表达式。作为第一个项目,我想读出一个 pdf 文件,过滤特定的文本数据并在 Excel 工作表中重新组合。因此我遇到了正则表达式问题:
pdf文件输出格式:
...
The text of this line is not always here\n
The community is here to help you with specific coding, algorithm, or language problems.\n
Summarize\n
ask\n
The text of this line is not always here\n
...
我想搜索“ask”,通过“具体编码”和“\n总结\n”找到它。 “ask”下面的文本不能用于可靠地找到它,因为它总是不同的。
我尝试使用 (?=...) 和 (?<=...) 来实现此目的,但我找不到合适的解决方案。
也许我做错了什么。有人有想法吗?
最佳答案
如果您想查找ask
,您可以使用捕获组而不是环视。您可以匹配特定编码
,后跟该行的其余部分.*
如果后面有空行和换行符,可以使用 \s*
来匹配它们。
然后匹配换行符,后跟Summarize
。
再次匹配空行和换行符,并在捕获组中捕获ask
\bspecific coding\b.*\s*\r?\nSummarize\s*\r?\n(ask)\b
关于python re搜索语法来识别分布在多行上的文本模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59518422/