跳到主要内容

正则提取

使用正则表达式提取指定内容

当前模块定义

sys:regexExtract文本处理Action
标准模块
输入 8 · 输出 9 · 枚举 1

输入参数

  • 提取方式getGroupEnum必填

    输出的内容根据提取内容有所不同,请参考模块文档。

    填写 固定输入默认 0
    各匹配项的值默认0
    第一个匹配项的组1
    各匹配项的组2
  • 输入dataText必填

    要提取内容的文本

    填写 输入或变量
  • 正则表达式patternText必填

    用于提取内容的正则表达式

    填写 输入或变量
  • 忽略大小写ignoreCaseBoolean可选

    不区分英文大小写

    填写 输入或变量默认 false
  • 单行模式singleLineBoolean可选

    此模式下"."能匹配任意字符,包括换行符。(否则匹配除了\n外的任意字符)

    填写 输入或变量默认 false
  • 多行模式multiLineBoolean可选

    此模式下^和$可以分别匹配行首和行尾。(否则匹配输入内容的开始和结束)

    填写 输入或变量默认 false
  • 从右向左rightToLeftBoolean可选

    从右向左查找匹配内容

    填写 输入或变量默认 false
  • 失败后中止动作stopIfFailBoolean可选

    操作失败后,是否停止后续动作的执行。

    填写 固定输入默认 true

输出参数

  • 是否成功isSuccessBoolean

    是否匹配成功

  • 所有匹配列表matchesList

    返回所有的匹配项

  • 匹配1match1Any

    第1个匹配项的值

  • 匹配2match2Any

    第2个匹配项的值

  • 匹配3match3Any

    第3个匹配项的值

  • 匹配4match4Any

    第4个匹配项的值

  • 匹配5match5Any

    第5个匹配项的值

  • Match对象matchObjObject

    首个匹配的原始的C#语言Match对象,可以在表达式中使用

    条件 仅:1
  • Matches集合matchesCollectionObject

    所有匹配的原始Match对象集合(MatchCollection),可以在表达式中使用

    条件 仅:0, 2

使用正则表达式从文本中提取方式。

本模块需要您了解正则表达式相关知识之后才可以使用。

正则提取

使用正则表达式提取指定内容
提取方式
输出的内容根据提取内容有所不同,请参考模块文档。
输入
 
要提取内容的文本
正则表达式
 
用于提取内容的正则表达式
是否成功
-- 选择变量 --
是否匹配成功
所有匹配列表
-- 选择变量 --
返回所有的匹配项
匹配1
-- 选择变量 --
第1个匹配项的值
匹配2
-- 选择变量 --
第2个匹配项的值
匹配3
-- 选择变量 --
第3个匹配项的值
匹配4
-- 选择变量 --
第4个匹配项的值
匹配5
-- 选择变量 --
第5个匹配项的值
Matches集合
-- 选择变量 --
所有匹配的原始Match对象集合(MatchCollection),可以在表达式中使用
步骤注释
 

参数

输入

【提取方式】要提取的内容类型。

【输入】要从中提取内容的原始文本。

【正则表达式】要匹配的正则表达式。

【忽略大小写】正则选项,不区分英文大小写。

【单行模式】此模式下“.”能匹配任意字符,包括换行符。否则匹配除了\n外的任意字符。单行模式和多行模式相互兼容,可以选择一个、同时选择两个或都不选择。

【多行模式】此模式下^和$可以分别匹配行首和行尾。否则匹配输入内容的开始和结束。

【失败后中止动作】如果匹配失败则停止后续步骤的执行。

输出

据提取方式的不同,输出的内容也不太相同。

【所有匹配列表】

  • 提取方式为“各匹配项的值”和“各匹配项的组”时,返回所有匹配项的值的列表。
  • 提取方式为“第一个匹配项的组”时,返回该匹配项所有组(Group)的值的列表。

【匹配1】-【匹配5】

  • 提取方式为“各匹配项的值”时,返回前5个匹配项的值。
  • 提取方式为“第一个匹配项的组”时,返回第一个匹配项前5个匹配组(Group)的值。
  • 提取方式为“所有匹配项的组”时,返回的是所有匹配项的对应位置匹配组的值的列表

【Matches集合】 提取方式为“各匹配项的值”和“各匹配项的组”时,返回表示所有匹配项的 MatchCollection 对象。可以在表达式中使用此对象。

【Match对象】 提取方式为“第一个匹配项的组”时,返回该匹配项的 Match 对象。可以在表达式中使用此对象。

示例

假设输入内容为:

a1 b2 c3 d4 e5 f6 g7 h8

正则表达式为:

([a-z])([0-9])

在各提取方式类型下,输出的值为:

提取方式输出:所有匹配列表匹配1-5
各匹配项的值所有匹配项的值列表。
a1
b2
c3
d4
e5
f6
g7
h8
前5个匹配项:
匹配1:a1
匹配2:b2
匹配3:c3
匹配4:d4
匹配5:e5
第一个匹配项的组第一个匹配项的所有组的值列表。
a
1
第一个匹配项前5个Group的值:
匹配1:a
匹配2:1
匹配3:
匹配4:
匹配5:
所有匹配项的组所有匹配项的值列表。
a1
b2
c3
d4
e5
f6
g7
h8
所有匹配项对应位置匹配组的值列表。
匹配1:a
b
c
d
e
匹配2:1
2
3
4
5
匹配3:
匹配4:
匹配5:

示例动作

更改历史

  • 1.4.20 增加提取方式类型支持。

参考资料

更新于