正则表达式大全

您的正则表达式学习与实践助手

50+
语法规则
30+
常用示例
2026
持续更新
100%
免费使用

快速入门

只需5步,轻松掌握正则表达式基础

第一步

认识元字符

了解 . \d \w 等基础符号

. 任意字符
\d 数字
\w 字母数字
第二步

学习量词

掌握重复次数的表达方式

* 0次或多次
+ 1次或多次
? 0次或1次
第三步

字符类

用方括号指定字符范围

[abc] a/b/c
[a-z] 小写字母
[0-9] 数字
第四步

锚点定位

确定匹配的位置

^ 开头
$ 结尾
\b 单词边界
第五步

分组与引用

提取和复用匹配内容

(abc) 捕获组
(?:abc) 非捕获
\1 反向引用

正则表达式语法手册

完整的正则表达式语法清单

字符类

.
任意单个字符(换行符除外)
\d
任意数字 [0-9]
\D
任意非数字 [^0-9]
\w
字母、数字、下划线 [a-zA-Z0-9_]
\W
非字母数字下划线
\s
空白字符(空格、制表、换行)
\S
非空白字符

量词

*
0次或多次
+
1次或多次
?
0次或1次(非贪婪)
{n}
恰好n次
{n,}
至少n次
{n,m}
n到m次
*? +? ??
非贪婪模式

锚点

^
字符串开头(在m模式下匹配行首)
$
字符串结尾(在m模式下匹配行尾)
\b
单词边界
\B
非单词边界

分组与断言

(abc)
捕获分组
(?:abc)
非捕获分组
(?=abc)
正向先行断言
(?!abc)
负向先行断言
(?=abc)
正向先行断言
(?!abc)
负向先行断言

标志位(修饰符)

g

全局匹配
找到所有匹配项

i

忽略大小写
不区分大小写

m

多行模式
^和$匹配行首行尾

s

单行模式
.匹配换行符

常用正则表达式示例

常见的验证与匹配场景,即学即用

手机号码

中国手机号验证

^1[3-9]\d{9}$
13812345678
15912345678
11912345678

电子邮箱

邮箱格式验证

^[\w.-]+@[\w.-]+\.\w+$
user@example.com
test.email@domain.cn
invalid.email

身份证号

18位身份证验证

^\d{17}[\dXx]$
110101199001011234
31010119850515201X
123456789012345

网址URL

网址格式验证

^https?://[\w.-]+\.\w+
https://www.example.com
http://domain.cn/path
www.example.com

IP地址

IPv4地址验证

^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$
192.168.1.1
255.255.255.0
256.1.1.1

中文姓名

2-4个汉字验证

^[\u4e00-\u9fa5]{2,4}$
张三
欧阳小明
A

正则表达式在线测试

实时测试您的正则表达式

/ /

常见问题

解答正则表达式学习中的疑惑

什么是正则表达式?

正则表达式(Regular Expression)是一种用于匹配字符串的模式。它可以用来检查一个字符串是否包含某种子串、将匹配的子串替换或者从某个字符串中取出符合某个条件的子串等。

正则表达式有哪些常用场景?

常见的使用场景包括:表单验证(手机号、邮箱、身份证等)、文本搜索与替换、数据提取与清洗、日志分析、URL路由匹配等。几乎所有编程语言都支持正则表达式。

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

贪婪匹配(如 .*)会尽可能多地匹配字符,而非贪婪匹配(如 .*?)会尽可能少地匹配。在需要精确控制匹配范围时,建议使用非贪婪模式。

如何学习正则表达式?

建议按以下步骤学习:1) 掌握基本元字符(. \d \w等);2) 学习量词(* + ? {});3) 理解字符类和分组;4) 实践常用示例;5) 使用在线工具测试。多写多练是掌握正则的最佳方式。