功能开发中
正则表达式测试器
用样本文本测试正则表达式。
匹配结果
替换结果
使用教程
- 在顶部"正则表达式模式"输入框中填写要测试的正则表达式(不需要加斜杠包裹,直接写pattern本体):
- 勾选或取消下方的三个修饰符标志:
- 在"测试文本"大文本域中粘贴或输入目标文本(可以是单行日志、JSON数据、HTML片段、CSV记录等)
- 同时观察下方两个结果区域的实时输出:
- 微调正则表达式或标志配置,结果会在每次按键后自动更新
使用场景
- VS Code搜索优化:程序员在VS Code中使用Ctrl+H进行工程级别的正则搜索替换前先在本工具中反复调试确保不会误伤其他代码。
- API响应数据提取:后端开发者在处理第三方JSON API返回的非结构化文本字段时用正则提取其中的关键数值。
- Nginx/Apache重写规则:运维人员编写location块中的
rewrite指令或.htaccess的重定向规则前验证正则能否正确匹配URI路径。 - Excel/Google Sheets清理:办公人员在电子表格中使用Google Sheets的REGEXREPLACE函数前用此工具验证正则的正确性。
- 文本编辑器宏录制:Notepad++/Sublime Text用户录制批量处理宏时用正则进行复杂的行列变换和格式整理。
- WAF规则编写:网络安全工程师编写ModSecurity或云WAF的自定义防御规则时测试攻击特征正则的覆盖率。
- 自然语言处理预处理:NLP研究者在做中文分词前的文本清洗步骤中使用正则去除标点符号、HTML实体、表情符号等噪声。
- Git Hook提交校验:技术负责人编写pre-commit hook用正则强制约束commit message格式(如
^(feat|fix|docs|style):)。
常见问题
Q: g标志(全局匹配)开启和不开启有什么区别?
A: JavaScript中
String.prototype.match(regex)的行为取决于是否设置了g标志:(1)无g标志:返回数组的第一个元素(index 0)是完整匹配,后续元素是各捕获组的匹配,同时返回index属性指示匹配位置。(2)有g标志:返回的是一个扁平数组包含所有完整匹配(不含捕获组信息),length等于总匹配次数。如果你需要获取每个匹配的位置信息建议改用regex.exec()循环或string.matchAll(regex)(ES2020+)。Q: 多行模式(m)到底改变了什么?
A: 默认情况下(无m标志)
^匹配整个字符串的开头,$匹配整个字符串的结尾。开启m标志后^和$的含义变为:^匹配每一行的开头(即紧接在\n换行符之后的位置),$匹配每一行的结尾(即紧接在\n换行符之前的位置)。这对于逐行分析多行日志文件非常有用——你可以用/^ERROR.*$/gm一次性提取所有以ERROR开头的整行日志。Q: 替换功能支持$1 $2这样的反向引用吗?
A: 支持!JavaScript的
String.prototype.replace(regex, replacement)的replacement字符串中可以使用$&(整个匹配)、` $ `(匹配左侧文本)、$'(匹配右侧文本)、$1~$99(第N个捕获组)。你可以在替换文本框中输入[$1]`来将第一个捕获组的内容加上方括号。但请注意只有开启了全局匹配(g)标志才会替换所有匹配项否则只替换第一处。建议反馈 (可留下联系方式)
0/200
工具名称
正则表达式测试器
所属分类
开发
更新时间
2026-06-24
使用次数
47
工具简介
用样本文本测试正则表达式。
功能特性
三标志Checkbox控制:不区分大小写(i) / 多行模式(m) / 全局匹配(g) 三个最常用的修饰符以复选框形式直观开关,自动拼接为RegExp的flags参数。
双结果并行展示:同时显示匹配(Match)结果和替换(Replace)结果两个独立面板,一次配置验证正则的两种核心用途。
零延迟实时计算:所有input元素绑定统一的
testRegex()/testReplace()事件处理器实现按键即算的即时反馈体验。
错误友好提示:使用try-catch包裹
new RegExp()构造过程,当正则语法有误时在结果区显示具体的SyntaxError信息(如"无效的量词"、"未转义的反斜杠"等)而非让脚本崩溃。
全局匹配计数:开启g标志后match()返回全部匹配项数组并在结果中明确标注"找到 N 个匹配"及每项的序号和内容。
替换文本独立配置:替换功能区拥有独立的输入框可随时修改替换字符串观察不同替换内容的效果变化。
暂无收藏工具
收藏工具