正则表达式测试工具

支持分组与高亮的在线正则表达式测试工具,实时预览匹配结果。
匹配结果
替换结果
/ /
支持标志:g(全局) i(不区分大小写) m(多行) s(dotAll) u(Unicode) y(粘性)
正则校验示例代码
工具介绍
工具猫 ToolCat 正则表达式测试工具支持多标志、多分组展示与高亮预览,帮助开发者快速测试与调试正则表达式。可实时显示匹配结果、分组内容及位置标记,支持常用正则标志(如 g、i、m 等),让正则调试更直观、更高效。
正则表达式的作用

正则表达式是用于描述文本模式的表达式,它可以在大规模文本中高效地查找、匹配、抽取和替换指定结构或内容,是开发、数据处理和运维中的核心能力。

典型应用场景

  • 数据验证:如邮箱、手机号、URL、身份证号等格式校验
  • 搜索与替换:在文本或代码中批量查找并替换匹配内容
  • 解析结构化文本:解析日志、CSV/TSV、简单配置、标签等
  • 字段抽取:从原始文本中提取时间、金额、编号、关键字
  • 日志分析:快速定位错误、IP、请求路径等关键模式
  • 数据清洗:过滤非法字符、规范空白、删除冗余内容
  • 语法高亮/提示:为编辑器或页面提供匹配高亮与提示

为什么要学习正则表达式

掌握正则表达式能够显著提升文本处理与自动化能力,常见编程语言与工具(如 JavaScript、PHP、Python、grep、sed、VSCode)均内置支持。熟悉常用模式后,可在数据清洗、日志排错、表单校验等工作中事半功倍。

实际应用案例

日志中提取请求路径与状态码

使用 /"(GET|POST)\s([^\s]+)".*?(\d{3})/ 提取方法、路径与状态码,快速生成报表或定位问题。

批量替换不规范电话号码

用 /(\+?86)?1[3-9]\d{9}/ 识别手机号并统一为标准格式,以便后续入库或短信发送。

正则表达式快速参考
常用元字符
语法符号 代码示例 详细说明
././匹配除换行外的任意单个字符(在 dotAll 模式下包含换行)
\d/\d+/数字字符(0-9)
\w/\w+/单词字符(字母、数字、下划线)
\s/\s+/空白字符(空格、制表符、换行等)
\b/\bword\b/单词边界(单词与非单词之间的位置)
^/^start/行首锚点
$/end$/行尾锚点
[]/[A-Za-z]/字符类,匹配集合中的任意一个字符
()/(abc)/分组,形成子匹配并可捕获
|/(cat|dog)/或(备选)匹配其中之一
常用限定符
语法符号 代码示例 详细说明
*/a*/重复零次或多次
+/a+/重复一次或多次
?/a?/重复零次或一次(可选)
{n}/a{3}/精确重复 n 次
{n,}/a{2,}/至少重复 n 次
{m,n}/a{2,5}/重复 m 至 n 次(包含边界)
惰性 ?/a+?/惰性(非贪婪)匹配,尽可能少地匹配
常用反义字符
语法符号 代码示例 详细说明
\D/\D+/非数字字符
\W/\W+/非单词字符
\S/\S+/非空白字符
\B/\Bword\B/非单词边界位置
[^...]/[^0-9]/排除类,匹配不在集合中的字符
语法参考
语法符号 代码示例 详细说明
(?:...)/(?:group)/非捕获分组,仅用于分组而不产生捕获
(?...)/(?\d{3})/命名分组,便于按名称读取捕获结果
(?=...)/(?=USD)/正向先行断言,后方需满足条件但不消耗字符
(?!...)/(?!USD)/负向先行断言,后方需不满足条件
Flags/pattern/gim正则标志:g 全局、i 忽略大小写、m 多行、s dotAll 等