使用正则表达式 (REGEX) 进行自动化数据捕获和提取(第 2 部分)
掌握正则表达式: 创建高效和强大的表达式指南
自动化数据采集和数据提取的关键。
自动化数据采集和数据提取的关键。
最高可优惠折扣
独家内幕新闻
免费额外升级
最高可优惠折扣
独家内幕新闻
免费额外升级
友谊 信任 信言不凿
我们绝对不会将您的电子邮件地址提供给其他人,每封电子邮件中都包含一个一键退订链接。
专业提示
自动化数据采集与正则表达式:如何利用正则表达式高效处理大量数据。在当前的文章中,我们向您展示了如何使用正则表达式来享受自动化文档处理的优势。这特别适用于各行业企业的文档。
我们向您展示了正则表达式的确切示例,并逐步解释它们的含义以及您如何使用它们。
这样,您可以提高运营效率,通过更高的准确性减少人为错误,降低当前成本,保持数据完整性并提高数据安全性。
当前的文章扩展了关于智能文档处理的第一部分,点击这里直接访问文章。
从文档中提取特定数据元素可能是一项极其昂贵且耗时的任务。通常,文档扫描件会发送到大型外包数据采集公司,由人工输入数据。
然而,这种方法存在各种缺点,如下所示:
以及许多其他缺点。
尽管扫描普及,但大量业务交易仍然基于纸质文件。据估计,85%的发票仍然是纸质的。
此外,还存在需要存放在巨大的仓库中的大量现有纸张!
正则表达式,也称为 "Regex" 是一种用于搜索和处理文本的强大工具。它们使得能够识别和处理文本中的复杂模式。
正则表达式由普通字母和具有特殊功能的特殊元字符组合而成。
正则表达式还可以用于替换或处理文本。例如,可以使用正则表达式。
它们是处理文本和自动化任务的非常强大的工具。
不同类型、不同命名规则的数字文档的增加,以及缺乏足够的搜索系统,使得搜索过程以及从特定内容中提取文档信息变得困难,特别是对于未分类的文档,搜索变得不准确且耗时。
这样可以根据预定的字符串搜索和读取文档内容。正则表达式是一种通过使用特殊符号来定义信息模式的方法。
Regex方法最适合于那些字段位置可变且简单文档模板无法适用的文档。
可以在我们的ComDesk中找到简单表达式的列表。
可以通过各种方式组装正则表达式,具体取决于搜索的模式类型。
使用元字符,如., *, +, ?, ^, $, [] 和 [a-z],代表特定类型的字符或模式。
使用可选部分:使用问号 (?) 或星号 (*) 将模式的某些部分设为可选。
使用分组:使用圆括号将模式的部分分组,并将其视为一个单位。
需要注意的是,不同编程语言对于正则表达式的规则可能会有所不同。因此,重要的是要阅读所使用工具的文档。适用于PaperOffice的RegEx必须兼容ECMAScript和PCRE2。
提示
关于 "自动文档存储 / REGEX & 变量 / 自动化发票处理" 主题,也有一个在YouTube上的视频,易于理解地解释了这个过程:
在当前文章中,我们将向您展示如何利用 PaperOffice 中的多元素正则表达式从文档中提取任何数据,并将其自动附加为文档的标签。
下面我们创建了一个样本文档,其中包含一个特定的日期。在此文件中,我们正在处理一张发票。我们文件中的日期格式如下:
月份由字母组成,但第一个字母总是大写,后面跟一个空格,然后是一天,后面跟一个逗号,再加一个空格,然后是年份。
例如:Sep 20, 2019 或 Mär 05, 2022
要提取此日期,我们可以使用以下正则表达式(REGEX):
让我们将表达式分解为单独的组。 这些组通过简单的括号 () 分隔。
在第一组中,我们寻找 3 个月份字母: ([A-Z][a-zä]{2})
然后我们用以下字符串查找一个空格: \s
在第二组中查找以数字表示的天数: (0[1-9]|[12][0-9]|3[01])
天数必须通过三种不同的指令分隔。
由于我们不知道文件中可能出现的日期,它可能是第一天 (01) 或月的最后一天 (31),因此必须指定不同的选项。
这些选项使用符号 “|” 分隔。
例如: (1|2|3) = 1或2或3。
方括号中列出了允许的字符。 多个方括号表示多个字符。 如果表达式要描述多个字符,则这些字符将被简单地连在一起。 然后从左到右将输入与您的表达式进行比较。
当然,不必总是列出所有数字。然而,总体而言,整个带括号的表达式只表述一个字符。
如果您的文件通常包含日期“5. März 2022”,即数字“5”前没有“0”,则字符串中的“0”会被省略。
设置完天数选项后,应该确定年份表达式。
现在我们来查找逗号和空格: ,\s
在最后一组中,我们寻找年份: (20\d{2})
我们开始查找任意年份,但我们知道它将大于等于 2000。
字符 \d 例如表示从 0 到 9 之间的一个数字,而字符 \d{2} 则表示查找一两位数字。
当在 PaperOffice 中应用该正则表达式时,最终得到的结果是日期 “Sep 20, 2019”。
这样可以从文档中读取任意日期,而无需知道原始值。这些组也可以在任何地方自由重新定位,以读取其他日期格式。
这里是另一个示例:
日期以天数开头,接着是由字母组成的月份,第一个字母大写,然后是一个点,一个空格,然后是年份。
要提取此日期,可以使用刚才描述的正则表达式(REGEX),加上一个补充,因为在第二个示例中,月份后面有一个“点(.)”。
这可以通过以下字符串表示:\.
因此,看起来完整的表达式如下所示:
您可以随时通过访问 https://regex101.com 页面,将您的文本与创建的正则表达式 (Regex) 一起粘贴来验证您的表达式。 Regex101 不仅会检查您的正则表达式是否正确,还会广泛解释您的正则表达式。
这样,您可以将不同的字符组用于各种用途。
作为另一个例子,我们想从文档中读取订单号。
我们文档中的订单号格式如下:
它总是以大写字母XYB开头,然后是一个连字符,接着是8位数字,另一个连字符,最后是3个随机大写字母。
订单号的示例是:
XYB-12316723-LSH
XYB-98456723-JRD
为了提取这个订单号,我们可以使用以下正则表达式:
让我们逐一分解这个表达式。
首先,我们寻找精确的前三个大写字母及连字符:XYB-
然后我们寻找8位数字后跟一个连字符:\d{8}-
如前所述,符号\d表示0到9之间的一个数字,同样符号\d{8}表示寻找一个8位数字。
最后,我们寻找3个任何大写字母:[A-Z]{3}
因此,PaperOffice将从以下订单号中:
XYB-12316723-LSH
XYB-98456723-JRD
XYB-975432671829
ZYB-12342176-ZHD
识别出前两个XYB-12316723-LSH和XYB-98456723-JRD
识别。
我们为此示例准备了一个Regex101链接,其中列出了刚才描述的正则表达式和4个示例。您会看到,只有两个提供的订单号符合我们的要求。
我们文档中的物品编号格式如下:
它总是以两个大写字母开头,然后是一个连字符,接着是6位数字。
物品编号的示例是:
MS-863398
DS-452829
为了提取这些物品编号,我们可以使用以下正则表达式:
PaperOffice可以将您的文档数字化并集成到您的系统中,以自动化从发票和其他文件中提取数据,而无需编写和维护无数的代码。
联系我们,讨论您的使用案例,并了解更多关于PaperOffice如何帮助您在数字时代变得更具竞争力。
开始比您想象的更简单。
您仍然担心自己无法做到吗?阅读我们客户关于PaperOffice在他们业务中集成的案例研究,并亲自体验其简单性,或直接申请测试安装。
最后,我们回答关于该主题的一些常见问题 "使用正则表达式 (REGEX) 进行自动化数据捕获和提取(第 2 部分)":
这个问题的快速和简单回答是:适合所有企业。无纸化办公对所有企业行业和规模都有好处,从中小企业到初创公司,再到大型企业。但这种转变对中小企业尤其有价值:通过减少处理工作量和成本,释放出所需的预算用于进一步的增长推动力。
不能。自从2018年《GDPR》最终生效以来,另一个因素成为热点话题,那就是数据保护。DMS解决方案和DMS软件用于处理、管理和存储经常包含敏感、个人数据的文档。违反《GDPR》规定会导致高额罚款。
以数字化工作并将旧文件带入新时代,将是未来节省大量时间、金钱和精力的最佳关键投资。
您不需要自己的 IT 专家来利用数字化的所有优势。
您需要的是一个在您身边的合适伙伴,他能够通过他的经验准确地实现您的需求。避免恐慌性宣传,选择经过测试的方案,而不是没有真正测试过的漂亮的 PowerPoint 演示。
经验表明,几乎每个企业、公司和单位都有一台多功能复印机,但还未充分利用其功能。这些设备非常适合批量扫描,能容忍回形针的存在,可以无需投资扫描仪便奠定数字化的基础。
避免使用那些会让您完全依赖制造商的 DMS / ECM 系统,避免陷入成本陷阱。在自我管理能力方面不做妥协,例如自己学习文件和进行设置。如果您需要帮助,制造商会很乐意帮忙,但您要保持自主和独立。
未来运作流程完全相同,但实现了全自动化。
账单进来了吗?工作流程启动,一切都按既定路径进行。
需要搜索 1000 个文件夹?没问题,因为您拥有自己的 Google!