← 返回自然分析科技首页

正则实验室

实时高亮 · 分组详情 · 替换预览 · 语法速查

简体 繁體 English

正则表达式

/ /

测试字符串

文本替换

在替换内容里可用 $1、$2 引用捕获分组,$& 引用整段匹配,$<name> 引用命名分组。


  

匹配详情

悬停或点击条目可在上方文本中定位该匹配

表达式解释

按语法片段逐段解释当前表达式

正则语法速查

点击条目插入到表达式光标处

常用正则示例

点一下即可载入表达式、标志与配套测试文本。

功能特性

使用方法

常见问题

这里的正则引擎和别的网站一样吗?
本页直接用你当前浏览器内置的 JavaScript 正则引擎(ECMAScript 规范)执行匹配,没有经过服务端。同一份表达式在 Chrome / Firefox / Safari 之间偶尔会有行为差异(尤其新语法支持进度不同),跨浏览器使用时以目标浏览器为准;服务器端语言(Python / Java / PCRE)语法相近但不完全相同。
为什么我的表达式一直「无匹配」?
常见原因:忘了开 g 标志导致只匹配第一处(本页高亮按标志实时计算);^ 和 $ 在多行文本里需要开 m 标志才按行生效;点号 . 默认不匹配换行,需要 s 标志;还有反斜杠在部分输入场景被吞掉,可对照「表达式解释」检查逐段拆解的结果。
替换里的 $1、$<name> 是怎么工作的?
替换串遵循 JavaScript String.replace 的规则:$& 代表整段匹配,$1、$2 代表第 1、2 个捕获分组,$<name> 代表名为 name 的捕获分组,$$ 代表字面 $。要插入字面的 $ 符号后面不接引用时,写成 $$。
贪婪与非贪婪匹配有什么区别?
默认量词是贪婪的:.* 会尽可能多地吃掉字符再找后续内容;在量词后加 ? 变成惰性(.*?),会尽可能少地匹配。例如从 "<a> <b>" 中取标签内容,<.*> 匹配整串,<.*?> 只匹配 <a>。用本页分别试一次,高亮范围一目了然。
我粘贴的敏感文本会被上传吗?
不会。匹配、高亮、替换全部在你的浏览器内存里由本地 JavaScript 完成,本页是纯静态页面,没有后端接口,文本与表达式只会保存在你自己设备的 localStorage 里以便下次打开恢复,除非你主动复制,本站服务器上看不到任何内容。
为什么我的表达式会让页面卡住?
这是「灾难性回溯」:像 (a+)+ 或 ^(\w+\s?)*$ 这类「量词套在本身含量词的分组上」的写法,一旦遇到不匹配的字符,引擎要尝试的分支数会指数级膨胀——55 个字符就可能算上一分半。本页把匹配放到独立线程里执行并设了 1 秒硬超时,超时会中止这次匹配并给出提示,页面不会再被冻死。等价但不含嵌套量词的写法通常存在,例如用 ^\w+(?:\s\w+)*$ 代替 ^(\w+\s?)*$。
怎么匹配换行?点号为什么吃不到换行符?
点号 . 默认不匹配换行,两种做法:①在标志里开 s(dotAll),让 . 也匹配换行;②不开 s 时写 [\s\S](或等价的 [^]),它明确表示「任意字符、含换行」。反过来,如果只想让 ^ 与 $ 按行生效,开 m 标志。
为什么 \d 匹配不到全角数字「123」?中文怎么匹配?
\d 等价于 [0-9],只认半角 ASCII 数字;全角数字属于 Unicode 的 Nd 类。匹配任意语言的数字可以开 u 标志后写 \p{Nd};匹配汉字用 [\u4e00-\u9fa5],或开 u 后写 \p{Script=Han}。本页「语法速查 → Unicode 与高级」里有现成条目可点。
替换串里引用了不存在的分组会怎样?
这里有个容易误判的地方:$<name> 在「表达式里有命名分组、但没有这个 name」时会替换成空串,而在「表达式里一个命名分组都没有」时会原样保留这几个字符;$99 这类越界组号也原样保留。同一串在两种表达式下结果完全不同,所以本页会在替换框下方直接给出内联提示。
为什么 (?i)、(?>a+) 这类写法会报错?
JavaScript 不支持内联标志 (?i),也不支持原子分组 (?>…)、\A、\Z、[[:alpha:]]、\R 这些 Python / PCRE 口味的语法,遇到会直接报语法错。本页检测到这类写法时会额外提示「这是后端正则语法」,请把这类表达式放到目标语言的引擎里测试——本页只切换界面上那 6 个标志按钮。

关于本工具

正则实验室是一个在线正则表达式测试器:表达式 + 测试文本 + 实时高亮 + 分组详情 + 替换预览 + 语法速查放在同一页,功能对标 RegExr / regex101 的核心用法。

匹配由浏览器原生 RegExp 引擎执行,解释器与速查表是页面内置的静态数据;没有任何后端或第三方 API,输入内容不出浏览器,界面支持简体 / 繁體 / English。

站内其他工具

纯前端计算 · 浏览器原生 RegExp 引擎 · 免费 · 支持中/繁/英

使用范围声明:本网站销售的所有产品或服务均不得用于人类或动物之临床诊断或治疗,仅可用于工业或科研等非医疗目的。

违法和不良信息举报:service@natanalysis.com

© 2026 深圳市自然分析科技有限公司 版权所有

粤ICP备2025458111号-1·粤公网安备44030002007958号