因软件更新较快,部分文档内容与软件最新版本有所出入,请知悉。
使用正则表达式从文本中提取方式。
本模块需要您了解正则表达式相关知识之后才可以使用。
参数
输入
【提取方式】要提取的内容类型。
【输入】要从中提取内容的原始文本。
【正则表达式】要匹配的正则表达式。
【忽略大小写】正则选项,不区分英文大小写。
【单行模式】此模式下“.”能匹配任意字符,包括换行符。否则匹配除了\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 增加提取方式类型支持。
参考资料
- [动作] 正则速查手册 作者 @咿呀杀杀
- 正则表达式教程:https://deerchao.net/tutorials/regex/regex.htm
- https://www.runoob.com/csharp/csharp-regular-expressions.html