工具用的顺手吗?
你的反馈能帮助我们做得更好
在线测试正则表达式,实时验证匹配结果,快速提取文本数据
无匹配
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
页面接收三项内容:正则表达式模式、修饰符和测试文本。模式描述要寻找的字符结构,例如 \d{4}-\d{2}-\d{2} 表示三个由连字符分隔的数字段;测试文本是被检索的原文;修饰符改变匹配范围或解释方式。默认修饰符为 gm,因此会搜索全部命中,并让 ^、$ 按多行文本的每一行边界工作。
模式输入框只填写斜杠内部的内容,不要再写成 /pattern/g;修饰符另填在右侧。模式或文本为空时不执行匹配;语法错误、重复修饰符或当前浏览器不支持的语法会直接显示错误信息。
匹配采用当前浏览器的 JavaScript 正则规则。带 g 时,结果列表是所有完整命中的子字符串;不带 g 时,只搜索第一处命中,而且返回数组还可能包含捕获组。页面会把数组中的每一项都列出并计数,所以不带 g 且模式含括号时,“找到 N 个匹配”里的 N 可能包含捕获组,并不等于 N 个不同位置。
模式:([A-Z]+)-(\d+)
测试文本:AB-12 CD-34
修饰符为 g:显示 AB-12、CD-34
不带 g:列表可能依次显示第一处完整匹配 AB-12 及两个捕获组 AB、12
常用修饰符中,i 忽略字母大小写,m 改变行首行尾锚点,s 允许点号匹配换行,u 启用 Unicode 模式。修饰符可以组合,但每个只能出现一次。
指南
按步骤完成操作,并通过示例核对输入与结果。
粘贴几条应当命中的样本,也加入一两条不应命中的反例。这样既能发现漏匹配,也能发现规则过宽。
例如要找日期,填写 \d{4}-\d{2}-\d{2},不要填写两侧的斜杠。也可以点选邮箱、网址、中国大陆手机号、日期、IP 地址或中国大陆身份证号模板作为起点;模板适合测试和提取,不等同于业务有效性认证。
要提取多处结果时保留 g;需逐行检查行首、行尾时加入 m;只有确实需要忽略大小写时才加入 i。每次只改一个因素,便于定位差异。
结果区显示数组项数量,并把各项依次标出。复制按钮会用真实换行分隔各项,适合粘贴到表格单列或逐行处理脚本中。
例:测试文本为 订单 A-102,订单 B-305,模式填 [A-Z]-\d{3},修饰符填 g,应得到 A-102 与 B-305 两项。若只得到第一项,先检查是否遗漏了 g。
场景
查看这项工具在不同工作与生活流程中的用法。
从多行日志中提取订单号、时间片段或状态码,先确认边界字符不会被一并带出,再把规则移入脚本。
检查编号、日期或邮箱的外形是否符合预期。正则只能判断文本形态,不能确认邮箱真实存在、日期在日历上有效或证件号码属于某人。
把同一组正例、反例交给同事复测,观察大小写、多行和换行条件是否一致,减少只在单条样本上通过的规则。
问答
集中解答高频疑问与容易混淆的问题。
通常是修饰符里没有 g。加入 g 后会搜索全部可能位置;若仍缺少结果,再检查量词是否过于贪婪或边界条件是否排除了后续文本。
因为第一处匹配的捕获组也可能进入结果数组。若只需要完整命中,可改用非捕获组 (?:...),或保留 g 查看全部完整匹配。
在这些正则元字符前加反斜杠,例如点号写作 \.、左括号写作 \(、加号写作 \+。模式框不是字符串源码,不需要再额外为字符串字面量转义一层。
m 只改变 ^ 与 $ 对行边界的识别;s 改变点号 .,使它也能匹配换行。二者解决的是不同问题,可以同时启用。
须知
使用前了解适用范围、结果限制与必要提醒。
这里验证的是当前浏览器支持的 JavaScript 正则语法,不保证与 Java、Python、Go、数据库或编辑器的正则方言完全一致。命名组、后行断言、Unicode 属性和转义规则尤其需要回到实际运行环境复测。
推荐
查找相关工具、专题与可用的 API 能力。