正则提取
使用正则表达式提取指定内容
当前模块定义
sys:regexExtract输入 8 · 输出 9 · 枚举 1
输入参数
- 提取方式
getGroupEnum必填输出的内容根据提取内容有所不同,请参考模块文档。
各匹配项的值默认0第一个匹配项的组1各匹配项的组2 - 输入
dataText必填要提取内容的文本
- 正则表达式
patternText必填用于提取内容的正则表达式
- 忽略大小写
ignoreCaseBoolean可选不区分英文大小写
- 单行模式
singleLineBoolean可选此模式下"."能匹配任意字符,包括换行符。(否则匹配除了\n外的任意字符)
- 多行模式
multiLineBoolean可选此模式下^和$可以分别匹配行首和行尾。(否则匹配输入内容的开始和结束)
- 从右向左
rightToLeftBoolean可选从右向左查找匹配内容
- 失败后中止动作
stopIfFailBoolean可选操作失败后,是否停止后续动作的执行。
输出参数
- 是否成功
isSuccessBoolean是否匹配成功
- 所有匹配列表
matchesList返回所有的匹配项
- 匹配1
match1Any第1个匹配项的值
- 匹配2
match2Any第2个匹配项的值
- 匹配3
match3Any第3个匹配项的值
- 匹配4
match4Any第4个匹配项的值
- 匹配5
match5Any第5个匹配项的值
- Match对象
matchObjObject首个匹配的原始的C#语言Match对象,可以在表达式中使用
- Matches集合
matchesCollectionObject所有匹配的原始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 增加提取方式类型支持。
参考资料
更新于