🧪 正则表达式测试

正则匹配 · 正则替换 · 正则分割 · flags · 捕获组 · 常用正则模板

🧰 正则设置
flags
匹配
替换
分割
输入正则与测试文本,右侧实时显示结果
📊 测试结果
匹配结果匹配
输入正则后显示结果
🧪
输入正则表达式和测试文本后,这里将显示匹配结果、捕获组与统计信息
准备就绪
📖 关于正则表达式

什么是正则表达式

正则表达式(Regular Expression)是用特定字符序列描述字符串匹配规则的强大工具,广泛用于文本校验、查找、替换与提取。本工具基于 JavaScript(ECMAScript)正则引擎,支持标准语法与常用标志位(flag)。

元字符与字符类

. 匹配任意字符(s 标志下含换行);\d 数字、\w 单词字符、\s 空白;\D \W \S 为对应取反。[abc] 字符类、[a-z] 区间、[^0-9] 取反。中文可用 [\u4e00-\u9fa5]

量词

* 0 次或多次、+ 1 次或多次、? 0 次或 1 次、{n} 恰好 n 次、{n,} 至少 n 次、{n,m} n 到 m 次。默认贪婪,加 ? 变为非贪婪(如 \d+?)。

分组与引用

(...) 捕获组,替换时用 $1$9 引用;(?:...) 非捕获组;(?<name>...) 命名组(替换用 $<name>)。(?=...) 正向断言、(?!...) 负向断言。$& 表示整个匹配、$` 表示匹配前文本、$' 表示匹配后文本。

flags 标志位说明

标志含义示例
g全局匹配(找出所有,而非第一个)/\d+/g
i忽略大小写/abc/i 可匹配 ABC
m多行模式,^ 与 $ 匹配每行行首行尾/^ok/m
s点号 . 匹配换行符/./s
u启用 Unicode 模式(支持 \p{...})/\p{L}+/gu
y粘性匹配,仅从 lastIndex 开始/a/y

常用正则示例

邮箱 [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,};手机号 1[3-9]\d{9};IP (?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)