正则表达式的特殊字符
^
以…开头的字符串匹配
例子:^a
以 a
开头
.
任意字符(不含换行符等空白字符)
*
重复任意次(可以为 0)
例子:.*
任意字符重复任意次
$
以…结尾的字符串匹配
例子:z$
以 z
结尾
?
非贪婪匹配
默认为反向匹配的贪婪匹配模式,添加 ?
后可以变成正向的非贪婪匹配,即正向匹配到即停止匹配
()
提取子串
匹配后只提取括号内的,即子串。Python 中的 match
匹配的 group
是以最外层开始向内的。
+
至少出现一次
例子:.+
任意字符至少出现一次
{}
限定出现次数
例子:
.{2}
任意字符出现 2 次.{2,}
任意字符出现 2 次及以上.{2,3}
任意字符出现 2-3 次(含)
|
「或」关系
例子:imbytecat|bytecat
匹配 imbytecat
或 bytecat
[]
自定义字符集
需要注意的是:进入中括号内的字符不再拥有特殊含义
例子:
[abcd]
a、b、c、d 中任何一个字符都可满足匹配要求[0-9]
0-9 之间任意一个字符[A-Za-z]
A-Z、a-z 之间任意一个字符[^1]
不为 1 的字符可满足条件(「非」关系,注意这里的符号和上面的意义不同)
\s
匹配空白字符 和 \S
不匹配空白字符
例子:
hello\sword
匹配hello world
i\Sbytecat
匹配imbytecat
\w
匹配常用字符和 \W
不匹配常用字符
和 .
有所区别,\w
等价于 [A-Za-z0-9_]
Unicode 汉字匹配
查看 Unicode 字符集可知,只需使用 [\u4E00-\u9FA5]
\d
匹配数字
本文由 imbytecat 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: May 9, 2020 at 09:32 pm