首页 / 工具 / 正则表达式测试

正则表达式测试

写一行正则,边改边看结果:每个匹配的行列位置、匹配文本、捕获组都列出来,还能先看替换效果;语法写错会直接告诉你错在哪。

标志

· 等待测试

上限 200,000 字符;超过会停止处理并提示,避免页面卡住。

    结果信息

    —
    匹配数量
    —
    捕获组
    —
    标志
    —
    输入规模
    —
    耗时
    —
    上限
    —

    常用正则速查

    • \d 数字 · \D 非数字 · \w 单词字符 · \W 非单词字符 · \s 空白 · \S 非空白
    • ^ 行首 · $ 行尾 · \b 词边界 · \B 非词边界 · . 任意字符(默认不含换行)
    • + 一次以上 · * 零次以上 · ? 零次或一次 · {2,5} 二到五次 · {3,} 至少三次
    • [abc] 任一字符 · [^abc] 排除这些 · [a-z0-9] 区间 · (a|b) 二选一 · (?:…) 非捕获组
    • (…) 捕获组 · (?<name>…) 命名捕获 · (?=…) 先行肯定 · (?!…) 先行否定 · (?<=…) 后行肯定
    • 邮箱 [\w.+-]+@[\w-]+\.[\w.]+ · URL https?://\S+ · 日期 \d{4}-\d{2}-\d{2}
    • IPv4 (\d{1,3}\.){3}\d{1,3} · 颜色 #[0-9a-fA-F]{3,8} · 中文字符 [\u4e00-\u9fa5]

    几点说明

    • 数据不出浏览器 · 零网络请求 · 可断网可用。
    • 正则引擎就是浏览器自己的 JavaScript 引擎,所以这里的语法与行为跟你代码里 new RegExp(pattern, flags) 完全一致。
    • 零宽匹配(例如 ^、\b、(?=x))也照实列出,不会死循环:每次匹配后如果位置没有前进,就手动往后挪一格。
    • 替换串用浏览器原生展开:$1…$9 取捕获组,$<name> 取命名组,$& 是整段匹配,$$ 是字面量 $。
    • 匹配最多列出 5,000 处、列表只画前 500 条,超过会提示;未勾选 g 时只找第一处。
    • 快捷键:Ctrl / ⌘ + Enter 测试匹配,Ctrl / ⌘ + Shift + Enter 预览替换。