正则表达式,方便我们检查一个字符串是否与某个模式匹配,或者是通过某个表达式匹配相应的字符串。

正则表达式

^ 表示正则表达式的开始
[…] 表示匹配[]里的所有字符
例如: [ABC]
[^…] 表示不匹配[]里的所有字符
例如:[^ABC]
[a-z]:表示匹配一个区间
. 匹配除换行符(\n、\r)之外的任何单个字符,相等于 [^\n\r]
[\s\S] 匹配所有。\s 是匹配所有空白符,包括换行,\S 非空白符,包括换行
\w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
$ 表示正则表达式的结尾

  • 匹配前面字表达式多次 如果要匹配+,则需要转移+
    ()标记一个子表达式的开始和结束
    \ 将下一个字符标记为特殊字符
    {} 限定表达符号的开始和结束
    {n} 表示匹配n次,n为正整数
    {n,} 表示至少匹配n次
    {n,m} 最多匹配m次,最少匹配n次

Re模块

re模块使python拥有全部的正则表达式对象。

#match()是尝试从一个字符串的起始位置匹配一个模式 如果不是起始位置匹配成功 就返回none
re.match(pattern, string, flags=0) #pattern要匹配的表达式 string要匹配的字符串 flags标志位
#search()扫描整个字符串,返回第一个匹配的对象
re.search(pattern, string, flags=0) #pattern要匹配的表达式 string要匹配的字符串 flags标志位
#替换字符串中匹配的串
re.sub(pattern, repl, string, count=0, flags=0) #pattern要匹配的表达式 repl替换的字符串,也可为一个函数 string要被查找替换的原始字符串 count模式匹配后替换的最大次数,默认 0 表示替换所有的匹配 flags编译时用的匹配模式,数字形式
#用于编译正则表达式 生成一个正则表达式对象
re.compile(pattern[, flags]) #pattern 一个字符串形式的正则表达式   flags 可选,表示匹配模式,比如忽略大小写,多行模式等
#找到所有满足正则表达式的子串,返回一个子串列表
re.findall(pattern, string, flags=0)
pattern.findall(string[, pos[, endpos]])
#找到所有满足正则表达式的子串,将子串以迭代器的形式返回
re.finditer(pattern, string, flags=0)
#split 方法按照能够匹配的子串将字符串分割后返回列表
re.split(pattern, string[, maxsplit=0, flags=0])