正则表达式学习笔记

in 编程技术 with 0 comment

正则表达式的特殊字符

^ 以…开头的字符串匹配

例子:^aa 开头

. 任意字符(不含换行符等空白字符)

* 重复任意次(可以为 0)

例子:.* 任意字符重复任意次

$ 以…结尾的字符串匹配

例子:z$z 结尾

? 非贪婪匹配

默认为反向匹配的贪婪匹配模式,添加 ? 后可以变成正向的非贪婪匹配,即正向匹配到即停止匹配

() 提取子串

匹配后只提取括号内的,即子串。Python 中的 match 匹配的 group 是以最外层开始向内的。

+ 至少出现一次

例子:.+ 任意字符至少出现一次

{} 限定出现次数

例子:

| 「或」关系

例子:
imbytecat|bytecat 匹配 imbytecatbytecat

[] 自定义字符集

需要注意的是:进入中括号内的字符不再拥有特殊含义
例子:

\s 匹配空白字符 和 \S 不匹配空白字符

例子:

\w 匹配常用字符和 \W 不匹配常用字符

. 有所区别,\w 等价于 [A-Za-z0-9_]

Unicode 汉字匹配

查看 Unicode 字符集可知,只需使用 [\u4E00-\u9FA5]

\d 匹配数字

Responses