regex 提取操作允许用户对从文档中提取的值应用自定义正则表达式 (regex)。 通过此操作,用户可以根据指定的正则表达式模式提取特定的子字符串,从而操作提取的数据。

当处理文档并提取出一个值时,您可以对该值应用正则表达式提取操作。 您可以定义一个正则表达式模式,用于识别和提取已提取值的特定部分。
注: 根据指定的正则表达式模式,仅提取在该值中找到的第一个匹配项。

先决条件

  • 当您应用正则表达式提取操作时,系统会在提取过程中使用正则表达式的第一个匹配项设定字段值。
  • 如果指定的正则表达式没有该字段的匹配项,则返回一个空字段值。
  • 如果您没有将更新后的 (v.31) package 连接到学习实例,您将收到一条警告消息,提示该规则可能不会按预期运行。

示例

该功能特别适用于只需要一部分提取数据的场景。 例如,从较大的字符串中提取一组特定的数字,隔离一部分地址,或从表格描述中检索特定的片段。

在下面的示例中,如果您想从文档的描述列提取供应商代码,它将从描述列中检索所有描述文本。

以下图像显示了使用常规提取过程的供应商代码值。

在应用正则表达式提取操作之前

在此示例中,我们将了解如何仅从文档描述列提取供应商代码

过程

  1. 字段规则选项卡上,单击添加规则
  2. 供应商代码字段指定不为空条件。
  3. 选择正则表达式提取操作类型。
  4. 指定正则表达式模式。 例如,供应商代码:\d{6}
  5. 通过为指定模式提供适当的值来对正则表达式模式进行测试,然后单击更新。 例如,供应商代码: 381823.
    使用正则表达式提取操作
  6. 单击处理以处理文档。
    根据指定的正则表达式模式,仅从描述列中提取供应商代码值。

    以下图像显示了应用正则表达式提取操作后的供应商代码值。

    使用正则表达式提取操作提取供应商代码

    您可以用于提取的正则表达式模式的部分示例如下:
    日期类型 正则表达式模式 示例
    文本或地址 \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z|a-z]{2,}\b test@gmail.com
    \b\d{3}[-.]?\d{3}[-.]?\d{4}\b 123.456.7890123-456-7890
    数字 ^\d{2}$ 122399
    ^[0-9]+$ 12312434
    Date \b\d{1,2}[/-]\d{1,2}[/-]\d{4}\b 2022 年 12 月 31 日2012 年 2月 7日
    ^\d{2}/\d{2}/\d{4}$ 28/02/2222
    注: 这些正则表达式模式不固定,可能会根据您的场景需求而有所不同。