类对象支持库(不是扁平命令)。路径:支持库 → 正则类。
类型名必须写完整「正则类」。声明时自动创建,一般无需再调 创建*。
硬约束
- 类型名必须写「正则类」。
- 先
创建表达式,再取匹配/替换。 - 匹配序号与子匹配序号均从 1 起。
- 替换式可用
$1、$2引用捕获组(ECMAScript)。 - 方法调用必须带括号。
快速开始
正则类 r
如果 (r.创建表达式("\\d+", "a12b34", 真, 假, 真)) {
输出(到文本(r.取匹配数量()))
输出(r.取匹配文本(1))
}
正则类/创建
共 1 条。
创建正则
- 签名:
通用 创建正则() - 说明:创建一个正则对象。一般直接写「正则类 r」即可(声明时自动创建);「创建正则()」仅在需要显式赋值时使用。
正则类/方法
共 7 条。
创建表达式
- 签名:
逻辑 创建表达式(文本 表达式, 文本 源文本, [逻辑 区分大小写=真], [逻辑 多行=假], [逻辑 全局=假]) - 说明:编译正则并对源文本立即执行匹配;成功返回真(匹配数为 0 也算成功)。
- 参数一│文本 表达式: 正则表达式(ECMAScript)。
- 参数二│文本 源文本: 待匹配文本。
- 参数三│[逻辑 区分大小写=真]: 假则忽略大小写。
- 参数四│[逻辑 多行=假]: 真则按行匹配(便于 ^/$)。
- 参数五│[逻辑 全局=假]: 真则找全部匹配;假则只取第一个。
取匹配数量
- 签名:
整数 取匹配数量() - 说明:返回当前已匹配到的次数(整数)。
取匹配文本
- 签名:
文本 取匹配文本([整数 匹配序号=1]) - 说明:取第 N 次完整匹配文本;序号从 1 起。
- 参数一│[整数 匹配序号=1]: 第几次匹配。
取子匹配数量
- 签名:
整数 取子匹配数量([整数 匹配序号=1]) - 说明:取指定匹配的捕获组数量(不含整匹配本身)。
- 参数一│[整数 匹配序号=1]: 第几次匹配。
取子匹配文本
- 签名:
文本 取子匹配文本(整数 匹配序号, 整数 子序号) - 说明:取第 N 次匹配的第 M 个捕获组文本;序号均从 1 起。
- 参数一│整数 匹配序号: 第几次匹配。
- 参数二│整数 子序号: 第几个捕获组。
替换
- 签名:
文本 替换(文本 替换式) - 说明:用当前表达式对源文本做替换,返回结果文本。
- 参数一│文本 替换式: 可用 $1、$2 引用捕获组。
取错误
- 签名:
文本 取错误() - 说明:取最近一次失败原因;无错误返回空文本。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成正则 | 必须「正则类」 |
| 反斜杠未加倍 | 源码里 \\d+ |
| 匹配序号从 0 | 匹配/子匹配序号从 1 |