正则表达式实用指南

一旦你开始"拆分思考"而不是死记模式,正则就通了。

核心语法

模式含义
.任意字符(不含换行)
*0 次或多次
+1 次或多次
?0 次或 1 次(可选)
^字符串开头
$字符串结尾
[abc]字符类
[^abc]否定字符类
\d数字 [0-9]
\w单词字符 [a-zA-Z0-9_]
\s空白字符

常用模式

# 邮箱(基础)
[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}

# URL
https?://[\w./-]+

# IPv4 地址
\b\d{1,3}(\.\d{1,3}){3}\b

# 日期 YYYY-MM-DD
\d{4}-\d{2}-\d{2}

# 十六进制颜色
#[0-9a-fA-F]{6}

Python 示例

import re

text = "联系方式:hello@example.com 或 support@test.org"
emails = re.findall(r'[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}', text)
print(emails)  # ['hello@example.com', 'support@test.org']

提示

regex101.com 在线调试,永远在正式使用前用真实数据测试。