返回首页

正则表达式速查 - MyTools在线工具

🧰 MyTools

正则表达式速查

全部
语法
说明
示例
.
任意字符(换行符除外)
a.c → abc
\d
数字,等价 [0-9]
\d+ → 123
\D
非数字
\D+ → abc
\w
字母/数字/下划线
\w+ → user_1
\W
非 \w 字符
\s
空白符(空格/制表/换行)
a\sb → a b
\S
非空白符
[abc]
字符集合中的任意一个
[aeiou]
[^abc]
除字符集合外的任意字符
[a-z0-9]
范围:小写字母或数字
[一-龥]
常用汉字范围
*
前一项 0 次或多次
ab*c → ac / abc
+
前一项 1 次或多次
ab+c → abc
?
前一项 0 次或 1 次
colou?r → color
{n}
恰好 n 次
\d{4} → 2026
{n,}
至少 n 次
\d{2,}
{n,m}
n 到 m 次
a{2,4}
*?
懒惰匹配:尽可能少
<.*?>
+?
懒惰版 +
^
字符串开头(m 模式下为行首)
^http
$
字符串结尾(m 模式下为行尾)
;$
\b
单词边界
\bword\b
\B
非单词边界
(?=...)
正向先行断言(后面是)
\d+(?=元)
(?!...)
负向先行断言(后面不是)
a(?!b)
(?<=...)
正向后行断言(前面是)
(?<=¥)\d+
(?<!...)
负向后行断言(前面不是)
(...)
捕获分组
(\d{4})-(\d{2})
(?:...)
非捕获分组
(?:ab)+
(?<name>...)
命名分组
(?<year>\d{4})
\1
反向引用第 1 个分组
(\w)\1 → 叠词
a|b
cat|dog
g
全局匹配(找出全部)
/a/g
i
忽略大小写
/abc/i
m
多行模式(^ $ 匹配行首行尾)
/^x/m
s
点号匹配换行符
/a.b/s
u
Unicode 模式
y
粘连匹配(从 lastIndex 起)
[\w.+-]+@[\w-]+\.[\w.]+
邮箱(宽松)
a.b@x.com
1[3-9]\d{9}
中国大陆手机号
13812345678
https?://[^\s]+
HTTP/HTTPS URL
\d{1,3}(\.\d{1,3}){3}
IPv4(宽松)
192.168.1.1
\d{4}-\d{2}-\d{2}
ISO 日期
2026-08-29
^\d{17}[\dXx]$
18 位身份证号
[\u4e00-\u9fa5]+
连续汉字
^\s+|\s+$
首尾空白(trim 替换)

正则表达式速查:语法元素(字符类、量词、分组、断言)与常用实例速查,写正则时的语法备忘页。

适用场景

  • 记不清懒惰匹配、前后断言的写法时对照
  • 常用校验实例(手机号、邮箱、日期)的参考写法
  • 读别人的正则时按速查表逐段解码

常见问题

正向/负向断言(lookahead)是什么?

只"看"不"吃"字符:(?=…) 匹配位置后面必须跟什么,(?!…) 后面必须不跟什么。用于"匹配后面跟着 X 的 Y"这类条件,结果不含 X 本身。

写正则的最佳实践是什么?

能简单别复杂:先从精确字面开始逐步放宽;复杂正则拆成多个简单步骤处理;上线前用真实样本回归,别追求"一行正则解决一切"。

相关工具