正则表达式测试器:在线调试正则,实时查看匹配结果
什么是正则表达式?
正则表达式(Regular Expression,简称 Regex)是一种用来描述字符串匹配规则的表达式。它就像一个"文本形状的模具"——你定义好形状,它就能从一堆文字里把符合形状的部分挑出来。
无论是表单校验(邮箱、手机号)、日志提取、文本替换,还是爬虫数据清洗,正则都是开发者的日常利器。但正则语法紧凑、符号密集,写错一个字符就匹配不到,所以需要一个能实时反馈的测试工具。
为什么需要在线正则测试器?
- 实时反馈:写完模式立即看到匹配结果,不用跑代码
- 零配置:打开浏览器就能用,无需安装环境
- 隐私安全:所有匹配在浏览器本地完成,文本不上传服务器
- 支持替换预览:写抓取规则前先验证,避免线上出错
SadToJoy 正则测试器怎么用?
工具界面分为三部分:正则表达式、测试文本、替换文本(可选)。核心操作流程:
- 在正则输入框填写表达式(两侧的
/已固定) - 在"标志"框填写修饰符:
g(全局)、i(忽略大小写)、m(多行) - 在测试文本区粘贴要测试的内容
- 点击「测试匹配」查看所有匹配项
- 需要替换时,填写替换文本后点击「替换」
常用正则表达式速查表
| 用途 | 表达式 |
|---|---|
| 邮箱 | ^[^\s@]+@[^\s@]+\.[^\s@]+$ |
| 手机号(中国大陆) | ^1[3-9]\d{9}$ |
| URL | https?:\/\/[^\s]+ |
| 身份证号 | \d{17}[\dXx] |
| 中文字符 | [\u4e00-\u9fa5] |
| IP 地址 | \b\d{1,3}(\.\d{1,3}){3}\b |
实战示例
示例 1:从日志中提取邮箱
模式:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
文本:联系我:alice@example.com 或 bob@test.org
匹配结果:alice@example.com、bob@test.org
示例 2:隐藏手机号中间四位
模式:(\d{3})\d{4}(\d{4}) 替换为:$1****$2
结果:138****8000
修饰符(Flags)说明
g— 全局匹配,找出所有结果(不止第一个)i— 忽略大小写(ABC 与 abc 视为相同)m— 多行模式,^和$匹配每行首尾s— 让.也能匹配换行符
常见问题(FAQ)
这个正则测试器支持哪些修饰符?
支持 JavaScript 正则的全部标准修饰符:g、i、m、s、u(Unicode)、y(粘性)。多数场景下用 gi 组合即可。
匹配结果为空是怎么回事?
常见原因:① 模式写错(如少了转义符 \);② 忘记加 g 标志只显示首个;③ 测试文本为空。建议先用简单文本验证模式,再逐步加复杂内容。
替换里的 $1、$2 是什么?
它们是捕获组的引用:括号 () 包裹的部分会被编号,$1 代表第一个括号匹配的内容。利用它可以在替换时保留部分原文(如隐藏手机号示例)。
我的数据隐私安全吗?
是的。所有匹配、替换计算都在您的浏览器本地完成,文本不会上传到任何服务器。可放心粘贴敏感日志或业务数据。
正则写不出来怎么办?
先用上面的速查表找近似表达式,再用本工具逐步调试。复杂场景可以拆分为多个简单正则串联处理,往往比写一个超长表达式更可靠。
结语
正则是一门"写得少、做得好"的手艺,而一个能实时反馈的测试器是最好的老师。SadToJoy 正则测试器完全免费、本地运行、无需注册,愿它成为你调试文本时的趁手工具。