工具用的顺手吗?
你的反馈能帮助我们做得更好
实时测试与调试JavaScript正则表达式,提供匹配结果、捕获组和索引信息。
g
i
m
s
u
y
请输入正则表达式和待匹配文本
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
正则表达式是用于描述文本模式的字符串。这里把模式文本、待测字符串和标志分别填写;模式框中写模式本身,例如 \d{4}-\d{2}-\d{2},不需要再加外层斜杠或把标志写在末尾。结果会高亮命中片段,并列出匹配位置、完整内容、编号捕获组和命名捕获组。
g 查找所有匹配;关闭时只返回首个命中。i 忽略大小写;m 让 ^ 和 $ 按行判断边界。s 让点号也匹配换行符;u 使用 Unicode 模式;y 要求从当前匹配位置开始匹配。匹配模式用于检查命中项;替换模式还会根据替换模板生成替换后的整段文本。
指南
按步骤完成操作,并通过示例核对输入与结果。
输入不带包围斜杠的模式文本。语法错误会在结果区显示,便于定位不被 JavaScript 接受的写法。
可用多行文本检查行边界、捕获组和跨行字符行为;选择需要的 g、i、m、s、u 或 y 标志。
确认高亮范围、命中数量、索引和捕获组是否符合预期。关闭 g 时只显示首个匹配。
切换到替换模式并填写模板,查看生成的全文,再决定是否复制结果。
替换模板也能引用命中内容:$& 表示完整匹配,$1 表示第一个编号捕获组,$<type> 表示名为 type 的捕获组。先用一两条样例核对替换结果,再处理整段文本。
模式:(?<type>Email|Phone):\s*(.+)
文本:Email: dev@example.cn 与 Phone: 13800138000
开启 g 和 m 后,可以看到每个标签命中及 type、编号捕获组;替换模板 [$<type>] $2 会生成带标签的替换预览。
查看捕获组时,先把模式拆成“固定文本”“边界条件”和“需要取出的部分”。在示例中,Email|Phone 限定标签,命名组 type 保存标签文字,(.+) 捕获冒号后的内容。若命中多于一行,逐项确认分组内容是否因空格或标点而多收字符。
场景
查看这项工具在不同工作与生活流程中的用法。
从多行日志中匹配时间、级别或请求编号,利用高亮与捕获组确认边界是否准确。
针对邮件、标签行或结构固定的文本,先用短样例检查命名组和编号组,再扩展到完整样本。
对重复文本预览替换后的全文,核对捕获组引用是否保留了所需内容。
在准备提交表单校验规则前,可把有效值、空值、额外空格和错误格式分别作为样例输入;一组简单正例不足以覆盖边界表现。
若命中数与预期不同,先确认测试文本是否包含目标片段,再检查全局标志和边界条件;匹配列表可帮助逐项比较位置与捕获内容。
问答
集中解答高频疑问与容易混淆的问题。
检查是否启用了 g。关闭全局标志时,JavaScript 的单次执行只返回第一个命中项。
m 改变行首、行尾锚点的判断;s 改变点号能否跨过换行。两者处理的是不同语法行为。
不一定。此处按 ECMAScript 的 JavaScript RegExp 规则执行;其他语言的表达式语法、标志或替换规则可能不同。
须知
使用前了解适用范围、结果限制与必要提醒。
复杂且可能大量回溯的模式遇到长文本时会让页面响应变慢。先用短样本验证,再逐步增加文本长度;如果浏览器明显卡顿,停止当前测试并简化模式。
分享链接会把模式、测试文本、替换内容和选项放进链接参数。含有客户资料、访问令牌、内部日志或其他敏感内容时,不要生成或转发分享链接。
正则表达式只按文本模式匹配,不会自动理解日期是否合法、号码是否属于真实用户或字段是否符合业务规则。需要这类判断时,还应添加格式解析或业务校验。
推荐
查找相关工具、专题与可用的 API 能力。