我正在写一个Java代码使用正则表达式来解析从PDF文档中提取的内容页面。使用Regex解析内容页面?
在正则表达式必须匹配的字符串中:一个数字(最多三个)后跟一个空格(或多个)后跟一个单词(或许多[单词:任何字符序列])。反之亦然:(单词(s)空格(s)数字),它们都必须在字符串中。同时考虑领先空间并且不区分大小写。
提取的内容页可能是这个样子:
董事职责8
公司治理9
薪酬报告10
的编号,样式不一致,数字和字符串之间的空格数量会有所不同,因此它也可能如下所示:
项01内容
02战略和亮点
04主席声明
我使用匹配的任何数量的单词后跟任意数量的空间,然后一个数字的正则表达式不超过3位:
(?i)([a-z\\s])*[0-9]{1,3}(?i)
它的工作原理但不是很好,不知道我做错了什么?我希望有一种方法可以检测编号样式(在页面的左侧或右侧有页码),而不是重复正则表达式并翻转顺序。
干杯
当你问一个正则表达式时最重要的事情是非常具体地说,文本将遵循的模式是什么,并不总是可以从例子中得知 – aaronman
首先,“主席声明”的例子包含一个'你在你的正则表达式中没有考虑到的'。 –
@aaronman我在上面提到过: *正在使用的正则表达式匹配任意数量的单词,后跟任意数量的空格,然后是不超过3个数字*的数字。但是也许我还不够清楚,下次还是会确定下来。干杯 – PhDeveloper