正则表达式测试器
文本与代码 · 免费在线工具
测试正则表达式并实时高亮匹配。
Match Details
实时高亮
在你输入模式和测试文本时实时看到匹配高亮。
捕获组
检查每个匹配的每个捕获组,位置和值清晰排列。
标志支持
切换 g、i、m 和 s 标志以微调你的模式。
如何使用正则表达式测试器
- 1在输入区域输入或粘贴文本或代码。
- 2选择所需的操作(格式化、转换、分析等)。
- 3点击操作按钮进行处理。
- 4从输出区域复制结果。
功能特点
- ✓完全免费 — 无需注册、无订阅、无广告
- ✓完全在浏览器中运行 — 数据从不离开您的设备
- ✓快速轻量 — 即时获得结果
- ✓跨平台 — 支持桌面、平板和移动设备
什么是正则表达式测试器?
正则表达式(regex)是一种由 IEEE POSIX 和 ECMAScript 规范定义的模式匹配语言。它使用元字符和字面量描述搜索模式。正则表达式测试器让您可以实时评估模式对测试字符串的匹配,高亮匹配结果和捕获组。
正则表达式测试器是如何工作的?
测试器将您的模式编译为状态机(NFA/DFA)并应用到输入字符串。标志修改行为:g(全局)、i(不区分大小写)、m(多行)、s(dotAll)、u(unicode)、y(粘性)。匹配结果显示位置、捕获组和命名组。
常见用例
- ✓表单验证——邮箱、电话号码、邮政编码
- ✓日志解析——从结构化日志行中提取字段
- ✓URL 路由——匹配 Web 框架中的路径模式
- ✓搜索和替换——批量文本转换
正则表达式与字符串方法的区别
字符串方法(includes、indexOf、startsWith)对于精确匹配更简单更快。正则表达式对于基于模式的匹配(如「文档中的所有邮箱」)是必要的。简单检查请优先使用字符串方法;灵活模式请使用正则表达式。过于复杂的正则可能导致 ReDoS(正则表达式拒绝服务)。
安全与隐私
本工具完全在浏览器中运行。在生产环境中使用正则表达式时要注意 ReDoS——某些模式(如嵌套量词 (a+)+)可能导致灾难性回溯。对用户提供的模式请使用超时或安全正则库。
技术细节
规范:ECMAScript 2024(MDN 参考)、IEEE POSIX。元字符:. * + ? ^ $ { } [ ] \ | ( )。字符类:\d \w \s \b。量词:*(0+)、+(1+)、?(0-1)、{n,m}。前瞻:(?=...) (?!...)。后顾:(?<=...) (?<!...)。命名组:(?<name>...)。
常见问题
贪婪量词和惰性量词有什么区别?
贪婪量词(*、+)尽可能多地匹配;惰性量词(*?、+?)尽可能少地匹配。需要最短匹配时使用惰性量词。
如何匹配整个单词?
使用单词边界:\bword\b 匹配 'word' 但不匹配 'sword' 或 'words'。
什么是前瞻和后顾?
前瞻 (?=...) 断言后面跟随的内容但不消耗它。后顾 (?<=...) 断言前面是的内容。它们是零宽断言,用于条件匹配。
相关工具
学习相关概念
学习相关概念
了解工具背后的编程概念。