正则表达式语法速查

1. 基本元字符

符号 说明 示例
.匹配任意单字符a.b 匹配 "aXb"
^匹配字符串开头^abc 匹配以abc开头
$匹配字符串结尾abc$ 匹配以abc结尾
*0次或多次ab* 匹配 "a", "ab", "abb"...
+1次或多次ab+ 匹配 "ab", "abb"...
?0次或1次ab? 匹配 "a", "ab"
{n}恰好n次a{3} 匹配 "aaa"
{n,}至少n次a{3,} 匹配 "aaa", "aaaa"...
{n,m}n到m次a{2,4} 匹配 "aa", "aaa", "aaaa"
[...]字符集中任意字符[abc] 匹配 "a/b/c"
[^...]不在字符集中[^abc] 匹配除abc外
|左边或右边a|b 匹配 "a" 或 "b"
(...)捕获分组(ab)+ 匹配 "ab", "abab"

2. 转义字符

符号 说明 示例
\d数字[0-9]\d{3} 匹配 "123"
\D非数字[^0-9]\D+ 匹配 "abc"
\w单词字符[a-zA-Z0-9_]\w+ 匹配 "abc123"
\W非单词字符\W+ 匹配 "!@#"
\s空白字符a\sb 匹配 "a b"
\S非空白字符\S+ 匹配 "abc"
\b单词边界\bcat\b 匹配 "cat"
\B非单词边界\Bcat\B 匹配 "concatenate"
\n换行符匹配换行
\t制表符匹配制表
\\反斜杠本身\\ 匹配 "\"

3. 正则标志

标志 说明
re.IGNORECASE忽略大小写
re.MULTILINE^和$匹配每行
re.DOTALL.匹配含换行符

4. 常用示例

目的 正则表达式 示例
邮箱[\w.+-]+@[\w-]+\.[\w.-]+test@example.com
手机号(中国)1[3-9]\d{9}13812345678
日期 YYYY-MM-DD\d{4}-\d{2}-\d{2}2024-01-22
IP地址\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}192.168.1.1
URLhttps?://[\w.-]+\.[\w./-?=%&]+https://example.com
十六进制颜色#[0-9a-fA-F]{6}#ff0000
整数\d+12345
浮点数\d+\.\d+3.14159

5. 分组与引用

语法 说明 示例
(...)捕获分组(\d{2})-(\d{2}) 匹配 "12-34"
(?:...)非捕获分组(?:ab)+ 匹配 "abab"
(?P<name>...)命名分组(?P<year>\d{4})
\1, \2引用前面分组(\d)\1 匹配 "11", "22"
(?=...)正向预查a(?=b) 匹配 "ab"中"a"
(?!...)负向预查a(?!b) 匹配 "ac"中"a"
💡 提示: Raw Mode启用时, 正则字符串按原样处理;禁用时需注意Python转义。建议使用原始字符串 r"..." 编写正则表达式。