regex 用于捕获从一个模式开始到另一个模式结束的所有文本的正则表达式

f0brbegy  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(69)

我正在使用Python从PDF中抓取文本数据。有一种常见的模式包含了我所需要的数据,它以数字模式开始,以字符串模式结束。我需要捕获所有文本,包括使用正则表达式的模式。
我有一个正则表达式,当我通过将pdf转换为txt并在中阅读文本来导入数据时,它可以工作。当我使用PyPDF2从PDF页面中提取文本时,正则表达式失败了。
数据流如下所示

Filed: 8/21/2022\nEntered:  10/21/2022\nDischarged:  01/23/2023\nClosed: 01/30/2023\n17-55018-   \nQRTbk 7 Windows PC\n OS:xxx\nRole: AdminHubertson

起点是17-55018-字符串,我有一个正则表达式:

[0-9]{2}-[0-9]{5}-

结束点是Role: Admin,它是唯一的,足以编译。
我已经尝试了一些使用lookaheads的捕获方法来获取我需要的文本。我已经在regex101上测试了这些方法,它们可以工作,但是我不能让它们工作
我尝试过的一些模式:

[0-9]{2}-[0-9]{5}-\s(\n(?!Role)(.*))*Role: Admin
[0-9]{2}-[0-9]{5}-\.(.*?)Role: Admin
[0-9]{2}-[0-9]{5}-.*(?=Role).*Role: Admin
0h4hbjxa

0h4hbjxa1#

试试这个:

\d{2}\-\d{5}.*?Role:\sAdmin

相关问题