正则表达式测试工具:在线正则匹配、调试、学习教程

# 正则表达式测试工具:在线正则匹配、调试、学习教程

正则表达式(Regular Expression)是程序员最强大的文本处理武器,也是劝退新手最多的话题之一:`^(?=.*[A-Z])(?=.*\d).{8,}$` 这种东西,写错一个字符就匹配不上。一个趁手的在线正则测试工具,能让调试效率提升十倍。

## 正则表达式能干什么

- **校验**:手机号、邮箱、身份证、密码强度是否符合规则
- **提取**:从一大段文本中抽出 URL、日期、金额、订单号
- **替换**:批量把文本里的某类内容替换成目标格式
- **拆分**:按分隔符把字符串拆成数组

几乎所有文本处理场景都离不开正则。

## 常用语法速查

| 语法 | 含义 | 示例 |
|------|------|------|
| `.` | 任意字符(除换行) | `a.c` 匹配 abc |
| `*` | 前一项出现 0 次或多次 | `ab*` 匹配 a、ab、abb |
| `+` | 前一项出现 1 次或多次 | `ab+` 匹配 ab、abb |
| `?` | 前一项出现 0 次或 1 次 | `colou?r` 匹配 color、colour |
| `\d` | 数字 | `\d{4}` 匹配 4 位数字 |
| `\w` | 字母数字下划线 | `\w+` 匹配单词 |
| `^` `$` | 行首 / 行尾 | `^\d+$` 整行都是数字 |
| `[abc]` | 字符集 | `[0-9]` 数字 |
| `(ab|cd)` | 分组或 | `(cat|dog)` 匹配 cat 或 dog |

## 在线正则测试工具

我们开发的 [正则表达式测试工具](https://zjunwei.com/seo-tools/regex-tester.html) 免费使用,浏览器本地运行,支持:

- **实时匹配**:输入正则和测试文本,立即高亮显示所有匹配结果
- **分组高亮**:用不同颜色区分捕获组,方便调试复杂表达式
- **常用语法说明**:内置常用正则速查,新手友好
- **替换测试**:同时支持匹配与替换两种模式,验证替换效果
- **大小写/多行/全局开关**:常用修饰符一键切换

## 调试正则的建议流程

1. 先想清楚要匹配的「边界条件」,例如匹配手机号要 `^1[3-9]\d{9}$` 而不是 `\d{11}`
2. 在测试工具里输入几组「应该匹配」和「不应该匹配」的样本
3. 观察高亮结果,逐步收紧或放宽表达式
4. 确认分组捕获正确,再写进代码

## 常见问题

**Q:正则里中文怎么匹配?**
A:用 Unicode 属性,如 `[\u4e00-\u9fa5]` 匹配常用汉字,或用 `\p{Script=Han}`(需开启 u 标志)。

**Q:贪婪匹配和懒惰匹配是什么?**
A:默认 `.*` 是贪婪的,尽量多匹配;加 `?` 变懒惰,如 `.*?` 尽量少匹配。提取 HTML 标签内容时懒惰匹配很有用。

**Q:测试工具和编程语言里的正则一致吗?**
A:大部分基础语法一致,但不同语言的正则引擎有差异(如 Python 的 `(?P)`、JavaScript 的 `(?)`),上线前最好在目标语言里再验证一次。

## 总结

正则这东西「用进废退」,表达式写错了也别慌,打开 [正则表达式测试工具](https://zjunwei.com/seo-tools/regex-tester.html) 实时看匹配结果,边调边学,很快就能上手。

💬 暂无评论