正则表达式语法与使用速查

常用正则表达式

元字符使用描述与例子
\转义字符,换行: \n 回车: \r 换页: \f 反斜杠: \\ 左括号 \(
()标记子表达式的开始和结束位置, (ab)(a)(b) 等价
^匹配行首, ^ab 匹配 abcde 中的ab
$匹配行尾, de$ 匹配 abcde 中的de
*匹配前面子表达式零次或多次, a(bb)* 匹配 abbba 中的a,abb ,不匹配abbb
+匹配前面子表达式一次或多次,a(bb)+ 匹配 abbba 中的abb ,不匹配 a,abbb
?匹配前面的子表达式零次或一次,(fe)?male 匹配 female 中的female,male
{n}精准匹配n次, mo{2} 匹配 moon中的o ,不匹配 mon中的 o
{n,}匹配确定>n次, o{3,} 匹配zooooooo ,不匹配 zoo中的o
{n,m}匹配确定次数∈[n,m], zo{1,3} 匹配zo , zoo , zooo ,对于zoooooo只匹配前3个o
?非贪婪匹配. a+ 贪婪匹配字符串 “aaaaa”,得到 [aaaaa] , 而 a+? 非贪婪匹配得到 [a,a,a,a,a]
.匹配除“\n”和"\r"之外的任何单个字符,用作任意字符
|两个匹配条件执行"or"运算, (cat|dog)food 匹配 catfooddogfood
(pat)匹配pat并获取匹配,模式 (a{2})|(b{2}) ,匹配aaabbb中的 aabb
(?<=pat)向前匹配pat但不获取, (?<=cat)food 匹配catfood 中的 food
(?=pat)向后匹配pat但不获取, cat(?=food) 匹配 catfood 中的 cat
(?<!pat)向前否定匹配pat但不获取, (?<!cat)food 匹配dogfood 中的 food ,不匹配catfood中的 food
(?!pat)向后否定匹配pat但不获取, cat(?!food) 匹配 catdrink 中的 cat,不匹配 catfood 中的 cat
[xyz]匹配包含的任意一个字符, [abc] 匹配 man 中的 a , bad 中的 a,b
[^xyz]匹配未包含的任意字符, [^abc] 匹配 a1b2c3 中的 [1,2,3]
[a-z] [^a-z][a-z] 匹配字符a-z范围内任意小写字母, [^a-z] 匹配非小写字母的任意一个字符
\d \D\d匹配0-9中的一个数字 ,\D匹配非0-9的任意一个字符
\s \S\s匹配任何一个不可见的字符,包括空格、制表符、换页符等 , \S 匹配任何一个可见字符
\w \W\w匹配含下划线的任何单词字符,\W匹配任何非单词字符
\num匹配num,num为正整数,对所获取的匹配引用num次, (.)\1 匹配两个连续的相同字符, (a)\1匹配baaaa 中的 aa

其他

1.关于正则表达式在Python re模块中的使用例子,请参阅我的文章:
等我写完
2.关于正则表达式的更多使用例子,参阅我的另外一篇文章:
等我写完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值