编写正则表达式
TextGO 可通过正则表达式匹配结构明确、规则清晰的文本。
什么是正则表达式
正则表达式(Regular Expression)使用特定语法描述文本的结构和模式。
何时使用正则表达式
适合使用正则的场景
✅ 结构明确的文本
- 电话号码、身份证号、邮政编码等
- 特定格式的编号或代码
- 固定格式的日期、时间
✅ 需要确定性匹配
- 格式定义严格的业务数据
- 需要精确验证的输入
✅ 模式简单清晰
- 可以用简单规则描述
- 变化范围有限且可控
不适合使用正则的场景
❌ 模糊或复杂的模式
- 需要理解上下文语义
- 变化过多,难以穷举
❌ 需要学习的模式
- 没有明确固定的规则
- 需要从样本中学习特征
创建正则表达式
步骤 1:进入正则管理
- 打开“设置”>“正则表达式”
- 点击“+”按钮添加正则表达式
步骤 2:基本信息
类型名称(必填)
- 标识正则表达式
- 建议使用描述性的名称
类型图标(可选)
- 点击当前类型图标打开图标选择窗口
- 可选择“内置图标”或“上传自定义 SVG”
步骤 3:编写正则表达式
正则表达式(必填)
- 输入用于匹配类型的正则表达式
匹配选项(可选)
i(不区分大小写):忽略大小写进行匹配u(Unicode):使用完整 Unicode 进行匹配m(多行模式):^和$匹配每行的开头和结尾s(单行模式):点号匹配换行符
TextGO 使用 JavaScript 正则表达式语义;模式匹配到选中文本的任意部分即视为匹配。如需匹配完整选中文本,请使用 ^ 和 $ 限定首尾。

使用正则表达式
保存的正则表达式会出现在识别类型列表中:
- 打开“全局快捷键”
- 添加一条新规则
- 在“识别类型”中选择创建的正则表达式
- 配置执行动作并保存
正则表达式语法
基础语法
字符匹配
| 语法 | 说明 | 示例 |
|---|---|---|
. | 匹配任意单个字符 | a.c 匹配 abc、a1c |
\d | 匹配数字(0-9) | \d{3} 匹配 123 |
\D | 匹配非数字 | \D+ 匹配 abc |
\w | 匹配字母、数字、下划线 | \w+ 匹配 hello_123 |
\W | 匹配非单词字符 | \W+ 匹配 @#$ |
\s | 匹配空白字符 | \s+ 匹配空格、制表符 |
\S | 匹配非空白字符 | \S+ 匹配 hello |
[abc] | 匹配 a、b 或 c | [0-9] 匹配任意数字 |
[^abc] | 匹配 a、b、c 之外的字符 | [^0-9] 匹配非数字 |
数量匹配
| 语法 | 说明 | 示例 |
|---|---|---|
* | 0 次或多次 | ab* 匹配 a、ab、abb |
+ | 1 次或多次 | ab+ 匹配 ab、abb |
? | 0 次或 1 次 | ab? 匹配 a、ab |
{n} | 恰好 n 次 | a{3} 匹配 aaa |
{n,} | 至少 n 次 | a{2,} 匹配 aa、aaa |
{n,m} | n 到 m 次 | a{2,4} 匹配 aa、aaa、aaaa |
位置匹配
| 语法 | 说明 | 示例 |
|---|---|---|
^ | 字符串开头 | ^hello 必须以 hello 开头 |
$ | 字符串结尾 | world$ 必须以 world 结尾 |
\b | 单词边界 | \bword\b 匹配完整单词 |
\B | 非单词边界 | \Bword 匹配单词内部的 word |
分组和选择
| 语法 | 说明 | 示例 |
|---|---|---|
(abc) | 分组 | (ab)+ 匹配 ab、abab |
a|b | a 或 b | cat|dog 匹配 cat 或 dog |
(?:abc) | 非捕获分组 | (?:ab)+ 匹配但不捕获 |
转义字符
| 语法 | 说明 |
|---|---|
\. | 字面量点号 |
\* | 字面量星号 |
\\ | 字面量反斜杠 |
\[ | 字面量左方括号 |
\( | 字面量左括号 |