在当前的文章中,我们向您展示了如何使用正则表达式来享受自动化文档处理的优势。这特别适用于各行业企业的文档。
我们向您展示了正则表达式的确切示例,并逐步解释它们的含义以及您如何使用它们。
这样,您可以提高运营效率,通过更高的准确性减少人为错误,降低当前成本,保持数据完整性并提高数据安全性。
当前的文章扩展了关于智能文档处理的第一部分,点击这里直接访问文章。
从文档中提取特定数据元素可能是一项极其昂贵且耗时的任务。通常,文档扫描件会发送到大型外包数据采集公司,由人工输入数据。
然而,这种方法存在各种缺点,如下所示:
- 文档安全性可能因此受到威胁
- 在工作流程过程中会引入延迟
- 与自动化提取相比,手动索引是一个较慢的过程
- 手动索引不适用于大型项目的扩展
- 手动索引可能引入数据错误
- 如果文档发生变化,整个过程需要重新开始
以及许多其他缺点。
尽管扫描普及,但大量业务交易仍然基于纸质文件。据估计,85%的发票仍然是纸质的。
此外,还存在需要存放在巨大的仓库中的大量现有纸张!
什么是正则表达式?
正则表达式,也称为 "Regex" 是一种用于搜索和处理文本的强大工具。它们使得能够识别和处理文本中的复杂模式。
正则表达式由普通字母和具有特殊功能的特殊元字符组合而成。
正则表达式还可以用于替换或处理文本。例如,可以使用正则表达式。
它们是处理文本和自动化任务的非常强大的工具。
正则表达式如何帮助企业自动化?
不同类型、不同命名规则的数字文档的增加,以及缺乏足够的搜索系统,使得搜索过程以及从特定内容中提取文档信息变得困难,特别是对于未分类的文档,搜索变得不准确且耗时。
正则表达式 (Regex) 提供了一种快速而强大的方法来搜索、提取和替换文档中特定的数据。正则表达式本质上是一种描述搜索模式的特殊文本字符串。
这样可以根据预定的字符串搜索和读取文档内容。正则表达式是一种通过使用特殊符号来定义信息模式的方法。
Regex方法最适合于那些字段位置可变且简单文档模板无法适用的文档。
可以在我们的ComDesk中找到简单表达式的列表。

如何组装正则表达式?
可以通过各种方式组装正则表达式,具体取决于搜索的模式类型。
使用元字符,如., *, +, ?, ^, $, [] 和 [a-z],代表特定类型的字符或模式。
使用可选部分:使用问号 (?) 或星号 (*) 将模式的某些部分设为可选。
使用分组:使用圆括号将模式的部分分组,并将其视为一个单位。
需要注意的是,不同编程语言对于正则表达式的规则可能会有所不同。因此,重要的是要阅读所使用工具的文档。适用于PaperOffice的RegEx必须兼容ECMAScript和PCRE2。
提示
关于 "自动文档存储 / REGEX & 变量 / 自动化发票处理" 主题,也有一个在YouTube上的视频,易于理解地解释了这个过程:
如何使用正则表达式 (REGEX) 从我的文档中提取信息?
实践示例
在当前文章中,我们将向您展示如何利用 PaperOffice 中的多元素正则表达式从文档中提取任何数据,并将其自动附加为文档的标签。
下面我们创建了一个样本文档,其中包含一个特定的日期。在此文件中,我们正在处理一张发票。我们文件中的日期格式如下:

月份由字母组成,但第一个字母总是大写,后面跟一个空格,然后是一天,后面跟一个逗号,再加一个空格,然后是年份。
例如:Sep 20, 2019 或 Mär 05, 2022
要提取此日期,我们可以使用以下正则表达式(REGEX):
([A-Z][a-zä]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
让我们将表达式分解为单独的组。 这些组通过简单的括号 () 分隔。
在第一组中,我们寻找 3 个月份字母: ([A-Z][a-zä]{2})
([A-Z][a-zä]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
提取月份
- [A-Z] 这串字符表示我们在查找一个从 A 到 Z 的大写字母。例如 Sept 中的字母 “S”。需要注意的是,大小写是分开处理的。
- [a-zä]{2} 这串字符表示我们在查找两个从 a 到 z 的小写字母以及“ä”(德语月份名称中的“März”)的字母。这是 “Sep” 的 ep 或德语 “Mär” 的 är。
然后我们用以下字符串查找一个空格: \s
([A-Z][a-zä]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
提取天数
在第二组中查找以数字表示的天数: (0[1-9]|[12][0-9]|3[01])
([A-Z][a-zä]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
天数必须通过三种不同的指令分隔。
由于我们不知道文件中可能出现的日期,它可能是第一天 (01) 或月的最后一天 (31),因此必须指定不同的选项。
这些选项使用符号 “|” 分隔。
例如: (1|2|3) = 1或2或3。
方括号中列出了允许的字符。 多个方括号表示多个字符。 如果表达式要描述多个字符,则这些字符将被简单地连在一起。 然后从左到右将输入与您的表达式进行比较。
当然,不必总是列出所有数字。然而,总体而言,整个带括号的表达式只表述一个字符。
- 0[1-9] 这串字符表示数字可以以“0”开头,然后是 1 到 9 之间的数字。因此,我们得到的是 01 - 09 的任意数字。
- 如果您的文件通常包含日期“5. März 2022”,即数字“5”前没有“0”,则字符串中的“0”会被省略。
- [12][0-9] 这串字符表示数字可以以“1”或“2”开头,接着是0到9之间的任意数字。因此,结果可能是 10 到 29。
- 3[01] 这串字符表示一个数字可能以“3”开头,然后是“0”或“1”。结果可能是 30 或 31。
设置完天数选项后,应该确定年份表达式。
现在我们来查找逗号和空格: ,\s
([A-Z][a-zä]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
提取年份
在最后一组中,我们寻找年份: (20\d{2})
([A-Z][a-zä]{2})\s(0[1-9]|[12][0-9]|3[01]),\s(20\d{2})
我们开始查找任意年份,但我们知道它将大于等于 2000。
- 20 这串字符表示我们在查找以 20 开头的所有年份。
- \d{2} 这串字符表示我们在查找可能的两位数,即从“00”到“99”。
字符 \d 例如表示从 0 到 9 之间的一个数字,而字符 \d{2} 则表示查找一两位数字。

当在 PaperOffice 中应用该正则表达式时,最终得到的结果是日期 “Sep 20, 2019”。
这样可以从文档中读取任意日期,而无需知道原始值。这些组也可以在任何地方自由重新定位,以读取其他日期格式。
这里是另一个示例:

日期以天数开头,接着是由字母组成的月份,第一个字母大写,然后是一个点,一个空格,然后是年份。
要提取此日期,可以使用刚才描述的正则表达式(REGEX),加上一个补充,因为在第二个示例中,月份后面有一个“点(.)”。
这可以通过以下字符串表示:\.
因此,看起来完整的表达式如下所示:
(0[1-9]|[12][0-9]|3[01])\s([A-Z][a-zä]{2})\.\s(20\d{2})
您可以随时通过访问 https://regex101.com 页面,将您的文本与创建的正则表达式 (Regex) 一起粘贴来验证您的表达式。 Regex101 不仅会检查您的正则表达式是否正确,还会广泛解释您的正则表达式。
这样,您可以将不同的字符组用于各种用途。
感谢REGEX读取订单号
作为另一个例子,我们想从文档中读取订单号。

我们文档中的订单号格式如下:
它总是以大写字母XYB开头,然后是一个连字符,接着是8位数字,另一个连字符,最后是3个随机大写字母。
订单号的示例是:
XYB-12316723-LSH
XYB-98456723-JRD
为了提取这个订单号,我们可以使用以下正则表达式:
XYB-\d{8}-[A-Z]{3}
让我们逐一分解这个表达式。
首先,我们寻找精确的前三个大写字母及连字符:XYB-
XYB-\d{8}-[A-Z]{3}
然后我们寻找8位数字后跟一个连字符:\d{8}-
XYB-\d{8}-[A-Z]{3}
如前所述,符号\d表示0到9之间的一个数字,同样符号\d{8}表示寻找一个8位数字。
最后,我们寻找3个任何大写字母:[A-Z]{3}
XYB-\d{8}-[A-Z]{3}
因此,PaperOffice将从以下订单号中:
XYB-12316723-LSH
XYB-98456723-JRD
XYB-975432671829
ZYB-12342176-ZHD
识别出前两个XYB-12316723-LSH和XYB-98456723-JRD
识别。
我们为此示例准备了一个Regex101链接,其中列出了刚才描述的正则表达式和4个示例。您会看到,只有两个提供的订单号符合我们的要求。
感谢REGEX读取物品编号
我们文档中的物品编号格式如下:
它总是以两个大写字母开头,然后是一个连字符,接着是6位数字。

物品编号的示例是:
MS-863398
DS-452829
为了提取这些物品编号,我们可以使用以下正则表达式:
[A-Z]{2}-\d{6}
PaperOffice可以将您的文档数字化并集成到您的系统中,以自动化从发票和其他文件中提取数据,而无需编写和维护无数的代码。
联系我们,讨论您的使用案例,并了解更多关于PaperOffice如何帮助您在数字时代变得更具竞争力。
开始比您想象的更简单。
您仍然担心自己无法做到吗?阅读我们客户关于PaperOffice在他们业务中集成的案例研究,并亲自体验其简单性,或直接申请测试安装。
谁适合无纸化办公?
这个问题的快速和简单回答是:适合所有企业。无纸化办公对所有企业行业和规模都有好处,从中小企业到初创公司,再到大型企业。但这种转变对中小企业尤其有价值:通过减少处理工作量和成本,释放出所需的预算用于进一步的增长推动力。
我可以在公司无纸化办公中使用基于云的DMS提供商吗?
不能。自从2018年《GDPR》最终生效以来,另一个因素成为热点话题,那就是数据保护。DMS解决方案和DMS软件用于处理、管理和存储经常包含敏感、个人数据的文档。违反《GDPR》规定会导致高额罚款。
- 优势证明了努力和成本
以数字化工作并将旧文件带入新时代,将是未来节省大量时间、金钱和精力的最佳关键投资。 - 您需要一个懂行的人
您不需要自己的 IT 专家来利用数字化的所有优势。
您需要的是一个在您身边的合适伙伴,他能够通过他的经验准确地实现您的需求。避免恐慌性宣传,选择经过测试的方案,而不是没有真正测试过的漂亮的 PowerPoint 演示。 - 硬件通常已经存在
经验表明,几乎每个企业、公司和单位都有一台多功能复印机,但还未充分利用其功能。这些设备非常适合批量扫描,能容忍回形针的存在,可以无需投资扫描仪便奠定数字化的基础。 - 使用合适的 DMS,成本低于预期
避免使用那些会让您完全依赖制造商的 DMS / ECM 系统,避免陷入成本陷阱。在自我管理能力方面不做妥协,例如自己学习文件和进行设置。如果您需要帮助,制造商会很乐意帮忙,但您要保持自主和独立。 - 数字化自动化是未来
未来运作流程完全相同,但实现了全自动化。
账单进来了吗?工作流程启动,一切都按既定路径进行。
需要搜索 1000 个文件夹?没问题,因为您拥有自己的 Google!
