python3 常用正则匹配表达式

python 正则匹配

@(python3)

在线正则匹配网站
官网 re 模块说明文档

字符

符号 描述 示例 结果
. 匹配除换行符 “\n” 之外的任何单个字符。    如果要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式。 a.c abc
\ 转义字符,使后一个正则字符改变原来的意思。 a\.c a\*c a.c a*c
[…] 匹配字符集内的任意一个字符。 [^…] 不匹配字符集内的字符。 a[bcd]e abe ace ade

预定义字符集

用于 […] 字符集内。

符号 描述 示例 结果
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]
\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’
\W 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’

数量词

符号 描述 示例 结果
* 匹配前一个字符 0 次或无限次
+ 匹配前一个字符 1 次或无限次
? 匹配前一个字符 0 次或 1 次
{m} m代表数字,匹配前一个字符 m 次 ab{2}c abbc
{m,n} 匹配前一个字符 m 次到 n 次。n 可以省略比如{2,} a{1,2}b aab ab
.*.txt 贪婪匹配任何 .txt 结尾的字符 注意和 shell 不同

边界匹配

符号 描述 示例 结果
^ 匹配字符串开头。多行模式中匹配每一行的开头
$ 匹配字符串末尾
\A 仅仅匹配字符串开头 \Aabc abc…
\Z 仅仅匹配字符串结尾 123\Z …123
\b 匹配 \w 和 \W 之间 a\b!bc abc
\B [^\b] a\Bbc abc

逻辑、分组

符号 描述 示例 结果
| 左右表达式任意匹配一个
(…) 括号内的表达式作为分组,整体匹配 (abc){2} a(123|456)b

特殊构造

该部分内容可参考图片,个人还未理解透彻。
python3 常用正则匹配表达式_第1张图片

正则表达式分组参考链接

你可能感兴趣的:(python)