正则表达式测试
在线正则表达式测试工具:实时匹配高亮、捕获组明细、常用正则一键填充(手机号/邮箱/身份证/URL),支持全部修饰符。
工具加载中…
使用说明
正则表达式是处理文本的瑞士军刀:校验手机号邮箱格式、从日志里提取字段、批量替换文本,都离不开它。但正则"写起来爽、调试火葬场",一个可视化测试工具能省大量时间。
本工具实时显示匹配结果:测试文本中的匹配部分高亮标出,下方表格列出每个匹配的位置、内容和捕获组。支持 g(全局)、i(忽略大小写)、m(多行)、s(点号匹配换行)、u(Unicode)修饰符。
顶部预置了最常用的一批正则:手机号、邮箱、身份证号、URL、中文字符、IPv4、日期,点击即可填充,在其基础上改比从零写快得多。
常见问题
为什么我的正则在代码里不匹配,在这里能匹配?
最常见原因:字符串里的反斜杠要双重转义。正则 \d 在 Java/JSON 字符串里要写成 \\d,在 JavaScript 字面量 /\d/ 里则不用。
g 和 m 修饰符有什么区别?
g 是全局匹配(找所有匹配而不是第一个);m 是多行模式(^ 和 $ 从匹配整串头尾变成匹配每行头尾)。两者常一起用。
捕获组是什么?
正则里用括号 () 包起来的部分会被单独捕获,方便提取子串。如 (\d{4})-(\d{2})-(\d{2}) 匹配日期时,三个组分别是年月日。非捕获组用 (?:...)。