正则相关知识
正则表达式是一种工具,定义了字符串的匹配模式,将一个字符串通过正则表达式替换或者提取出我们要的部分。Windows中通配符(*和?)就是和正则表达式类似的东西。Python通过标准库中的re模块来支持正则表达式操作。
- 基本符号:
符号 | 解释 | 用法 |
---|---|---|
. | 匹配任意字符 | 比如”h.w“ ,表示 可以匹配 hsw、h¥w、h0w等 |
\w | 匹配字母、数字、下划线 | 比如 h\ww 表示 可以匹配 hsw、h1w、h_w等但不能匹配h¥w |
\s | 匹配空白字符(包括\r、\n、\t等) | hi\sboy 匹配hi boy |
\d | 匹配数字 | 1\d\d 匹配100、110、111、1等等 |
\b | 匹配单词的边界 | \be\b 匹配her、he%、9e0等 |
^ | 匹配字符串的开始 | ^hello 匹配hello开头的字符串 |
$ | 匹配字符串的结束 | $bey 匹配bey结束的字符串 |
\W | 匹配非字母、数字、下划线 | h\Ww匹配h¥w、h@w等但h1w等不行 |
\S | 匹配非空白字符 | love\Syou 可以匹配love#you等但不能匹配love you |
\D | 匹配非数字 | \d\D 可以匹配9a / 3# / 0F等 |
[] | 匹配来自字符集的任意单一字符 | [aeiou] 可以匹配任一元音字母字符 |
[^] | 匹配不在字符集中的任意单一字符 | [^aeiou] 可以匹配任一非元音字母字符 |
等等 有好多的 | 若是这些特殊字符是你要的用\转义 |
- python中对正则表达式的操作
re模块:
函数 | 说明 |
---|---|
compile(pattern, flags=0) | 编译正则表达式返回正则表达式对象 |
match(pattern, string, flags=0) | 用正则表达式匹配字符串 成功返回匹配对象 否则返回None |
search(pattern, string, flags=0) | 搜索字符串中第一次出现正则表达式的模式 成功返回匹配对象 否则返回None |
split(pattern, string, maxsplit=0, flags=0) | 用正则表达式指定的模式分隔符拆分字符串 返回列表 |
sub(pattern, repl, string, count=0, flags=0) | 用指定的字符串替换原字符串中与正则表达式匹配的模式 可以用count指定替换的次数 |
fullmatch(pattern, string, flags=0) | match函数的完全匹配(从字符串开头到结尾)版本 |
findall(pattern, string, flags=0) | 查找字符串所有与正则表达式匹配的模式 返回字符串的列表 |
finditer(pattern, string, flags=0) | 查找字符串所有与正则表达式匹配的模式 返回一个迭代器 |
purge() | 清除隐式编译的正则表达式的缓存 |
re.I / re.IGNORECASE | 忽略大小写匹配标记 |
re.M / re.MULTILINE | 多行匹配标记 |
在用时候再补充用法