REGEX CHEAT SHEET / CLICK TO TRY

正则表达式速查表

看不懂的语法,点一下就在真实文本上试出来。

本地运行 · 文本不上传
匹配明细

表达式解释

常用正则

代码

速查表(点击插入到表达式)

字符

  • 任意字符(除换行)
  • 数字
  • 字母、数字、下划线
  • 空白
  • 非数字
  • 非单词字符
  • 非空白
  • a、b、c 任一
  • 除 a、b、c 外
  • a 到 z
  • 任意文字字母(需 u 标志)
  • 中文汉字

位置

  • 开头
  • 结尾
  • 单词边界
  • 非单词边界

数量

  • 0 次或多次
  • 1 次或多次
  • 0 或 1 次
  • 恰好 3 次
  • 至少 2 次
  • 2 到 5 次
  • 非贪婪:尽量少

分组与引用

  • 捕获组
  • 不捕获的分组
  • 命名捕获组
  • 引用第 1 组
  • 引用命名组
  • a 或 b

前后断言

  • 后面紧跟 abc
  • 后面不是 abc
  • 前面是 abc
  • 前面不是 abc

转义

  • 字面的点
  • 字面的斜杠
  • 换行
  • Tab
  • Unicode 字符

替换语法

  • $1 $2第 1、2 个捕获组
  • $<name>命名组
  • $&整个匹配
  • $`匹配之前的文本
  • $'匹配之后的文本
  • $$字面的 $

按需连接下一步

把日常工具接到公司的工作流程

创建公司账号,配置网站监控、企业邮箱与通知渠道,邀请同事分工处理日常工作。

新公司享 14 天 Pro 试用,无需绑卡;试用不含付费月度积分。

已有公司账号?打开对应工作台 →

正则表达式语法一览

字符

  • .任意字符(除换行)
  • \d数字
  • \w字母、数字、下划线
  • \s空白
  • \D非数字
  • \W非单词字符
  • \S非空白
  • [abc]a、b、c 任一
  • [^abc]除 a、b、c 外
  • [a-z]a 到 z
  • \p{L}任意文字字母(需 u 标志)
  • [\u4e00-\u9fff]中文汉字

位置

  • ^开头
  • $结尾
  • \b单词边界
  • \B非单词边界

数量

  • *0 次或多次
  • +1 次或多次
  • ?0 或 1 次
  • {3}恰好 3 次
  • {2,}至少 2 次
  • {2,5}2 到 5 次
  • *?非贪婪:尽量少

分组与引用

  • (abc)捕获组
  • (?:abc)不捕获的分组
  • (?<name>abc)命名捕获组
  • \1引用第 1 组
  • \k<name>引用命名组
  • a|ba 或 b

前后断言

  • (?=abc)后面紧跟 abc
  • (?!abc)后面不是 abc
  • (?<=abc)前面是 abc
  • (?<!abc)前面不是 abc

转义

  • \.字面的点
  • \/字面的斜杠
  • \n换行
  • \tTab
  • \u00A9Unicode 字符

替换语法

  • $1 $2第 1、2 个捕获组
  • $<name>命名组
  • $&整个匹配
  • $`匹配之前的文本
  • $'匹配之后的文本
  • $$字面的 $

怎么用

  1. 在上方输入正则表达式,点亮需要的标志(常用 g 全局、i 忽略大小写)。
  2. 在测试文本里粘贴内容,匹配会实时高亮,下方列出每个匹配的位置和分组。
  3. 需要改写文本就切到「替换」,要把所有匹配拿出来用「提取列表」;最后复制对应语言的代码。

常见问题

贪婪和非贪婪有什么区别?

默认的 * + {n,} 是贪婪的,会尽量多匹配;后面加 ? 变成非贪婪,尽量少匹配。例如在文本 x1y x2y 里,x.*y 匹配整段,x.*?y 只匹配到第一个 y。

用的是哪种正则语法?

浏览器的 JavaScript(ECMAScript 2024)语法:支持命名组、前后断言、Unicode 属性 \p{…}。Python、PHP(PCRE)、Java、C# 的大多数写法相同;Go 不支持前后断言和反向引用。下方「代码」会按语言自动改写命名组等差异。

文本会上传吗?

不会。匹配在你浏览器里的独立线程中运行,超过 1 秒自动停止,避免灾难性回溯卡死页面;内容不会发送到任何服务器。

正则表达式速查表实用指南与常见问题

什么是正则表达式速查表?

速查表按浏览器的 JavaScript(ECMAScript 2024)正则语法整理,包括命名组 (?<name>…)、前后断言和 Unicode 属性 \p{…};每一项都能直接插入测试器验证。

适合谁用,什么时候用?

写数据清洗、表单校验、日志分析和 SEO 规则的开发、运营和数据人员;记不清某个语法、想马上验证时使用。

如何使用正则表达式速查表?

按字符、位置、数量、分组、前后断言、转义和替换语法分类列出,点任意一项就插入到页面上方的测试器,用真实文本立即看到效果。

如何理解正则表达式速查表的结果?

大部分语法在 Python、PHP、Java、C# 中写法相同;Go(RE2)不支持前后断言和反向引用,Python 的命名组写作 (?P<name>…)。

内容在哪里处理,会提交到哪些服务?

速查表和测试器都在浏览器里运行,测试文本不会上传到任何服务器。