document-understanding
2020.10
false
UiPath logo, featuring letters U and I in white
已弃用
Document Understanding 用户指南
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年7月29日

基于正则表达式的提取程序

什么是基于正则表达式的提取程序

基于正则表达式的提取程序是处理简单用例的理想工具,在该工具中,某些字段的数据总是采用严格且可预测的格式和上下文。换句话说,如果有一个字段您可以为其定义匹配时始终良好的正则表达式,则基于正则表达式的提取程序会是很好的选择。

该活动附带一个配置向导,该向导可帮助您为要以此种方式提取数据的目标字段定义正则表达式。

该活动支持简单字段提取和表格字段提取。

如果上下文和预期值的格式存在较大差异,建议使用其他提取方法。在这种情况下,表单提取程序或机器学习提取程序可能更合适。

此提取程序没有学习(训练)功能,需要预先配置。

特殊要求

使用基于正则表达式的提取程序没有特殊要求。

如何配置

活动配置

“基于正则表达式的提取程序”有两个主要配置需要考虑:

  • 配置正则表达式向导 - 可用于为某些字段定义正则表达式。此向导还提供“正则表达式编辑器”向导,可帮助您构建自己的正则表达式。
  • 使用视觉对齐”设置 - 此选项让您可以控制是否应将为提取程序配置的正则表达式应用于数字化组件的文本输出,或应用于以可视方式组织文本行并且根据视觉对齐重新按行排列单词的文本版本。

配置正则表达式向导

配置正则表达式向导可用于定义正则表达式,以用于捕获简单字段和表格字段的数据。

  1. 在“数据提取作用域”活动中,向工作流添加“基于正则表达式的提取程序”活动。
  2. 单击“配置表达式”按钮,配置正则表达式。
    • 系统将打开“向导”窗口。


  3. 展开文档类型条目,以查看所有已定义的字段,并开始配置您的正则表达式。系统会自动从项目的分类中读取文档类型及其相应字段。“正则表达式”配置选项可用于分类中的每个字段。
    • 展开的文档类型,显示单个常规字段:


    • 展开的文档类型和表格字段,显示表格的配置选项:


      对于简单字段,只能使用正则表达式向导定义单个正则表达式。当您单击该字段旁边的“编辑”选项时,该向导随即打开。

      对于表格字段,可使用多种设置和选项进行配置:

    • 表格值正则表达式”可用于捕获整个表格区域。如果在“表格”字段行中未添加任何值,则系统会将文档的整个文本内容视为表格进行后续处理。
    • “行值正则表达式”可用于捕获给定表格捕获中的整个行。如果“行”字段行中未添加任何值,则按行尾分隔表格区域。从此刻开始,系统会将每个捕获的值视为要应用列提取的行。
    • 列值正则表达式”可用于从每个捕获的行中捕获特定列的值。

      使用表格、行和列正则表达式的场景

    • 如果您将“表格正则表达式”和“行正则表达式”字段留空,则文档文本版本中的所有行都将用于应用“列级别正则表达式”来标识单元格值。
    • 如果您定义了一个正则表达式来捕获表格区域,但将“行正则表达式”留空,则使用每个“列正则表达式”单独处理表格中的所有行,以捕获单元格值。
    • 如果您将“表格正则表达式”留空,但定义了“行正则表达式”,则使用“行正则表达式”捕获的所有文本,并应用“列正则表达式”捕获每一行的单元格值。
    • 如果您同时填写“表格”和“行正则表达式”,则该活动将应用“表格正则表达式”来标识表格字符串,然后应用“行正则表达式”来标识每一行,再应用“列级别正则表达式”来捕获单元格值。
  4. 在“表达式”字段中添加您的正则表达式。
    备注:

    提供一个正则表达式,或构建一个正则表达式

    您可以选择在“表达式”字段中写入整个正则表达式,也可以使用“编辑”按钮构建它。

    重要提示:

    指定您的捕获组!

    对于您定义的任何正则表达式,请确保至少有一个捕获组!报告值时仅使用表达式中已捕获的部分。

  5. 单击“正则表达式选项”列中的下拉列表。您可以在该多选选项中设置“正则表达式选项”。


  6. 有多个选项可供您选择:
  • “CultureInvariant”- 指定忽略语言文化差异。
  • “ECMAScript”- 为表达式启用符合 ECMA 脚本的行为。此值只能与“忽略大小写”和“多行”选项一起使用。
  • “显式捕获”- 指定唯一有效的捕获是显式命名或编号并定义为 (?<name> subexpression) 的组。任何未命名的括号都将被忽略。
  • “忽略大小写”- 指定搜索不区分大小写。
  • “忽略模式空白”- 从定义的模式中消除未转义的空格,并启用标有 # 的注释。此选项不适用于标记单个正则表达式语言元素开头的字符类、数字量词或令牌。
  • “单行”- 指定在单行中启动搜索。点 (.) 匹配所有字符,包括异常 \n
  • “多行”- 指定在多行中启动搜索。对于此选项,特殊字符 ^$ 可匹配任何行的开头和结尾。
  • “从右到左”- 指定从右到左执行搜索。
    注意:有关正则表达式选项的更多信息,请参见此处

正则表达式编辑器向导

  1. 单击“编辑”按钮以编辑该字段的选项和正则表达式的格式。


  2. 在“测试文本”字段中添加文本,以根据要应用正则表达式的文本测试您选择的搜索条件。


  3. 从下拉列表中选择一种正则表达式类型。这将设置正则表达式以匹配以下特征之一:
    • “文字”- 匹配您指定的确切字符。此选项区分大小写。
    • “数字”- 匹配数字。
    • “其中之一”- 匹配集合中存在的单个字符。
    • “非其中之一”- 匹配集合中不存在的单个字符。
    • “任何内容”- 匹配除 \n 以外的任何字符。
    • “任何单词字符”- 匹配任何字母和数字。
    • “空格”- 匹配一个空格。
    • “开头为”- 从行开始的位置开始搜索。
    • “结尾为”- 在行尾处开始搜索。
    • “高级”- 需要自定义表达式。
    • “电子邮件”- 匹配电子邮件地址。
    • “URL”- 匹配 URL。
    • “美国日期”- 匹配美国日期格式。
    • “美国电话号码”- 匹配美国电话号码格式。


      注意:有关 .NET 中正则表达式的更多信息,请参见此处
  4. 使用“值”字段以写入正则表达式的值。
  5. 从“量词”下拉列表中选择一个量词。
“精确”- 精确匹配前面指定的元素次数。默认情况下,它设置为 1

“任何(0 次或更多)”- 匹配前面的元素零次或多次,但次数越少越好。

“至少一次(1 次或更多)”- 匹配前面的元素一次或多次。

“零次或一次”- 匹配前面的元素零次或一次,但次数越少越好。

“在 x 次和 y 次之间”- 匹配前面的元素的次数为 x 次和 y 次之间,其中 xy 是整数,但次数越少越好。
  1. 使用 docs image 按钮添加额外的正则表达式字段。使用 docs imagedocs image 按钮在层次结构中上下移动字段。使用 docs image 按钮删除字段。
  2. 如果要提取该特定字段,请选中“捕获”选项的复选框。
  3. “完整表达式”字段会准确显示您自定义的整个表达式。
  4. 从“正则表达式选项”下拉列表中选择一个或多个选项。


  5. 完成所有配置后,单击“保存”按钮以退出“编辑”模式,然后再次单击“保存”以关闭向导。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。