一、常用字符
表达式 | 功能 | |
---|---|---|
普通字符 | 匹配字符本身 | |
. | 配任意除换行符"\n"外的字符 | |
\w | 匹配字母、数字、下划线、中文 | |
\W | 匹配非字母、数字、下划线、中文 | |
\s | 匹配空白字符 | |
\S | 匹配非空白字符 | |
\d | 匹配数字字符 | |
\D | 匹配非数字字符 | |
\b | 检测(当前所在位置是否是)单词边界 | |
\B | 检测非单词边界 | |
^ | 检测字符串开头 | |
$ | 检测字符串结尾 | |
[ ] | [字符集] | 匹配字符集中的任意一个字符 |
[字符1-字符2] | 匹配字符1到字符2中所有的字符 | |
例: | [a-zA-Z\d_] | 数字字母下划线 |
[^字符集] | 匹配没有在字符集中的其他任意字符 | |
\ | 转义符号,使后一个字符改变原来的意思 | |
* | (贪婪) | 匹配前一个字符0次或多次 |
+ | (贪婪) | 匹配前一个字符1次或多次 |
? | (贪婪) | 匹配前一个字符0次或1次 |
{ } | {M,N}(贪婪) | 匹配前一个字符至少M次到最多N次 |
{M,}(贪婪) | 匹配前一个字符至少M次 | |
{,N}(贪婪) | 匹配前一个字符最多N次 | |
{N} | 匹配前一个字符N次 | |
| (分之) | 表达式1|表达式2|... | 依次将表达式匹配,直到成功,否则失败 |
( ) (分组) | 将括号中的内容看成一个整体 | |
分组重复 | '\数字'重复前面第几个分组匹配到的内容 | |
贪婪? | 惰性 | 尽可能少的匹配 |
二、内置函数
表达式 | 功能 | 返回值 |
---|---|---|
compile(pattern,flags=0) | 将正则转换成正则对象 | 正则对象 |
fullmatch(pattern, string, flags=0) | string与pattern完全匹配 | 匹配对象\None |
match(pattern, string, flags=0) | string的开头与pattern进行匹配 | 匹配对象\None |
search(pattern, string, flags=0) | 在string中去匹配出第一个符合pattern的子串 | 匹配对象\None |
split(pattern, string, maxsplit=0, flags=0) | 将string按照满足pattern要求的子串进行切割 | 列表 |
sub(pattern, repl, string, count=0, flags=0) | 将string中能够和pattern匹配的子串替换成repl | 新字符串 |
findall(pattern, string, flags=0) | 在string中获取满足pattern的所有子串(如有分组,只获取分组中内容; 如有多个分组,列表中的元素是元组) | 列表 |
finditer(pattern, string, flags=0) | 在string中获取满足pattern的所有子串 | 迭代器 |
注:
pattern:正则表达式
string、repl:字符串
maxsplit:最大分割次数(下标),默认0:全部分割
count:替换的个数(前count个),默认0:全部替换
flags:编译标志位
标志(flags) | 功能 |
---|---|
re.I(IGNORECASE) | 忽略大小写 |
re.S(DOTALL) | 使.匹配包括换行在内的所有字符 |
re.M(MULTILINE) | 多行匹配,影响^和$ |
re.U | 根据Unicode字符集解析字符,这个标志影响\w,\W,\b,\B |
网友评论