我正在使用正则表达式编写 Java 代码来解析从 PDF 文档中提取的内容页面。
在字符串中,正则表达式必须匹配:一个数字(最多三个)后跟一个空格(或多个),后跟一个单词(或多个 [单词:任何字符序列])。反之亦然:(word(s) space(s) digit(s)),它们都必须在字符串中。还要考虑前导空格并且不区分大小写。
提取的内容页面可能如下所示:
董事职责 8
公司治理 9
薪酬报告10
编号样式不一致,数字和字符串之间的空格数确实有所不同,因此它也可能如下所示:
01 内容
02 战略与亮点
04 董事长致辞
我使用的正则表达式匹配任意数量的单词,后跟任意数量的空格,然后是不超过 3 位的数字:
(?i)([a-z\\s])*[0-9]{1,3}(?i)
它工作但不太好,不能告诉我做错了什么?我希望有一种方法可以检测两种编号样式(将页码放在字符串的左侧或右侧),而不是重复正则表达式并翻转顺序。
干杯