跳到主要内容

正则提取

用正则从文本里取出匹配。需要先熟悉正则;只要替换不要提取,用 替换文本

当前模块定义

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),可以在表达式中使用

参数说明

提取方式:决定输出长什么样。

  • 各匹配项的值:每个完整匹配一项。
  • 第一个匹配项的组:只看第一处匹配的捕获组。
  • 各匹配项的组:每个匹配的对应组收成列表。

正则提取

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

输入:原文。

正则表达式:用来匹配的模式。

忽略大小写:不区分英文大小写。

单行模式. 匹配含换行在内的任意字符;否则不匹配 \n。可与多行同时开。

多行模式^ / $ 匹配行首行尾;否则只匹配整段开头和结尾。

从右向左:从右边开始找。旧稿未写。

失败后中止动作:匹配失败是否停下。默认开启。

输出

  • 是否成功:是否匹配到。
  • 所有匹配列表:各匹配项的值,或「第一个匹配项的组」时该匹配的各组。
  • 匹配1匹配5:前 5 个匹配,或第一处匹配的前 5 个组,或「各匹配项的组」时各组列表。
  • Match对象:仅「第一个匹配项的组」,.NET Match
  • Matches集合:仅「各匹配项的值 / 各匹配项的组」,.NET MatchCollection

提取方式对照

输入:

a1 b2 c3 d4
e5 f6 g7 h8

正则:([a-z])([0-9])

提取方式所有匹配列表匹配1~5
各匹配项的值a1h8前 5 个完整匹配
第一个匹配项的组a1第一处的组:a1
各匹配项的组各完整匹配匹配1 是各组第 1 组列表,匹配2 是第 2 组列表

限制与排障

匹配不到时若开了失败中止,后面步骤不会跑。调试先关掉,看 是否成功。单行 / 多行含义和常见「多行」口语不一样,按上面说明选。

示例动作

步骤较多,用卡片打开。速查手册也是分享动作,只保留安装入口。

相关链接

更改历史

  • 1.4.20 增加提取方式。

更新于