正则表达式测试与可视化

本地处理
  • 打赏支持
  • 分享链接
  • 反馈建议

输入正则表达式后自动生成铁路图

输入后自动实时匹配,无需点击按钮

匹配详情

点击"匹配测试"查看详情

功能说明

本工具是一款免费的在线正则表达式调试和可视化工具,核心特色是铁路图可视化和中文解释——将正则表达式渲染为直观的图形化流程图,并自动翻译成通俗易懂的中文描述。

支持的功能包括:常用正则预置库、5种修饰符(g/i/m/s/u)、实时高亮匹配、分组捕获详情、字符串替换、颜色编码、正则语法速查表等。所有操作在浏览器本地完成,保护您的隐私安全。

使用步骤

1. 输入或从常用模式中选择一个正则表达式,系统会自动生成铁路图和中文解释。

2. 选择修饰符(全局/忽略大小写/多行/dotAll/Unicode),铁路图会同步更新。

3. 在「匹配测试」选项卡中输入文本,输入即可实时查看高亮结果和捕获组详情。

4. 在「替换模式」选项卡中可使用 $1 $2 等引用进行批量替换。

新增功能

实时匹配:输入正则和测试文本后自动匹配,无需点击按钮。

颜色编码:不同匹配结果用不同颜色高亮,一目了然。

中文解释:自动将正则表达式翻译成通俗易懂的中文描述,新手友好。

常见问题

什么是铁路图?

铁路图(Railroad Diagram)是一种用图形化方式表示语法规则的方法。每个正则 token 用方框或圆圈表示,分支用多条路径展示,循环用回环箭头表示。它能让你一眼看懂复杂正则的匹配逻辑。

捕获组是什么?

用圆括号 () 括起来的部分为捕获组,例如 (\d{3})-(\d{8}) 中第一个括号匹配前3位数字,第二个括号匹配后8位数字。在替换表达式中可用 $1 $2 引用对应组的内容。

修饰符有什么区别?

g 表示全局匹配;i 表示忽略大小写;m 表示多行模式(^$匹配每行首尾);s 表示 dotAll 模式(.匹配换行符);u 表示 Unicode 模式。

你可能还想问

怎么避免误匹配?

用锚点限定位置、明确字符类范围、注意贪婪与懒惰的区别;写完务必用真实样本测试,包括边界与空值。

为什么不同语言结果不同?

各语言的正则引擎在语法扩展与回溯行为上有差异;跨语言使用时只采用共同支持的语法,避免依赖方言特性。

匹配性能差怎么办?

警惕灾难性回溯,避免嵌套量词与宽泛通配叠加;可用更具体的字符类或先做前缀过滤来提速。

正则表达式速查表

字符类

.除换行外的任意字符
\d数字 0-9
\w单词字符 [A-Za-z0-9_]
\s空白字符
\D \W \S上述取反
[abc]字符集
[^abc]不在字符集
[a-z]范围

量词

*0次或多次
+1次或多次
?0次或1次
{n}恰好n次
{n,}至少n次
{n,m}n到m次
*? +? ??非贪婪

锚点

^字符串开头
$字符串结尾
\b单词边界
\B非单词边界

分组 & 引用

(abc)捕获组
(?:abc)非捕获组
(?=abc)正向先行断言
(?!abc)负向先行断言
\1 \2反向引用
$1 $2替换引用
|或(分支)

相关工具

编程开发
正则表达式可视化调试

在线正则表达式可视化调试工具,支持分组捕获树状展示、命名捕获组识别、逐步高亮匹配项、常用正则模板库,一键查看匹配位置与捕获内容。纯浏览器本地运行。

编程开发
时间戳转换

时间戳转换是一款免费的在线Unix时间戳与日期时间互转工具,支持毫秒级精度和多种日期格式

编程开发
SQL格式化

SQL格式化是一款免费的在线SQL代码美化和压缩工具,支持MySQL、PostgreSQL、SQLite等多种方言

编程开发
正则表达式速查表

收录50+常用正则:手机/邮箱/身份证/URL/IP,支持一键复制、即搜即用、在线测试。

编程开发
XPath在线测试

在线XPath测试工具,输入XML/HTML源码和XPath表达式,实时查询并显示匹配结果,支持命名空间和多种返回类型,纯浏览器本地运行

编程开发
正则→中文说明

在线正则表达式中文解释工具,输入任意正则表达式,自动解析为逐字符、逐分组的语义说明,内置常用正则示例库,纯浏览器本地处理,适合学习与排查正则。

生活工具
单位换算

单位换算工具是一款免费的在线单位转换应用,支持长度、面积、体积、重量、温度、速度等多种常用单位的相互转换

编程开发
进制转换对照表

在线进制转换工具,支持二进制、八进制、十进制、十六进制之间的互相转换,支持带小数,支持负数,支持大整数