关于在python里用正则这件事
import re
更新ing
元字符 | 描述 | 示例 |
---|---|---|
[] | 指定一个字符类 | [a-z] |
\ | 转义 | \d |
. | 匹配任意字符(除换行符) | r..n |
^ | 起始于 | ^r |
$ | 结束于 | o$ |
* | 零次或多次出现 | w* |
+ | 一次或多次出现 | i+ |
{} | 确切地指定的出现次数 | w{3} |
| | 两者任一 | ab|git |
() | 捕获和分组 | r(.*?)y |
1 | import re |
re.match
re.match确定正则是否从字符串的开头匹配。成功返回一个MatchObject,失败返回None。
语法:re.match(pattern,string,flags=0)
pattern为正则表达式
string为要匹配的字符串
flag用于控制正则表达式的匹配方式
1 | import re |
re.search
re.search扫描字符串,查找此正则匹配的任何位置.成功返回一个MatchObject,失败返回None。
语法:re.search(pattern, string, flags=0)
pattern为正则表达式
string为要匹配的字符串
flag用于控制正则表达式的匹配方式
1 | import re |
re.compile
re.compile 函数用于编译正则表达式,生成一个Pattern对象。
语法:re.compile(pattern[, flags])
pattern为正则表达式
flag用于控制正则表达式的匹配方式
1 | import re |
re.findall
re.findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。
语法:findall(pattern,string[, pos[, endpos]])
pattern为正则表达式
string为要匹配的字符串
pos指定字符串的起始位置,默认为0,可选参数
endpos指定字符串的结束位置,默认为字符串的长度,可选参数
1 | import re |
flag参数 | 描述 |
---|---|
re.I | 使匹配对大小写不敏感 |
re.L | 做本地化识别(locale-aware)匹配 |
re.M | 多行匹配,影响 ^ 和 $ |
re.S | 使 . 匹配包括换行在内的所有字符 |
re.U | 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B. |
re.X | 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解 |
正则表达式对象
MatchObject
Pattern
参考链接
菜鸟教程 https://www.runoob.com/python/python-reg-expressions.html#flags
python官网 https://docs.python.org/zh-cn/3/howto/regex.html
w3school https://www.w3schools.cn/python/python_regex.asp