gpt4 book ai didi

java - 使用正则表达式解析内容页面?

转载 作者:行者123 更新时间:2023-11-30 04:17:30 24 4
gpt4 key购买 nike

我正在使用正则表达式编写 Java 代码来解析从 PDF 文档中提取的内容页。

在字符串中,正则表达式必须匹配:一个数字(最多三个),后跟一个(或多个)空格,后跟一个单词(或多个[单词:任意字符序列])。反之亦然:(单词、空格、数字),它们都必须在字符串中。还要考虑前导空格并且不区分大小写。

提取的内容页面可能如下所示:

Directors’ responsibilities 8

Corporate governance 9

Remuneration report 10

编号样式不一致,数字和字符串之间的空格数确实不同,因此它也可能看起来像:

01 Contents

02 Strategy and highlights

04 Chairman’s statement

我使用的正则表达式匹配任意数量的单词,后跟任意数量的空格,然后是不超过 3 位的数字:

(?i)([a-z\\s])*[0-9]{1,3}(?i)

它可以工作,但不太好,不知道我做错了什么?我希望有一种方法可以检测两种编号样式(将页码放在字符串的左侧或右侧),而不是重复正则表达式并翻转顺序。

干杯

最佳答案

如果您想匹配短语,您应该在正则表达式中包含您想要匹配的任何标点符号。 AFAIK 正则表达式中无法判断某个短语是“之前还是之后”,因此您应该翻转一个短语并在其后附加 |。大致如下:

[a-zA-Z'".,!\s]+\d{1,3}|\d{1,3}[a-zA-Z'".,!\s] +

此外,您不需要两个 (?i) 实例,因为正则表达式将应用不区分大小写,直到字符串末尾或遇到 (?-我)

关于java - 使用正则表达式解析内容页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17977340/

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