1. unicode和bytes类型的匹配
-
Unicode 和 bytes
在正则表达式,是两种类型,不能混为一谈。匹配和替换需要是相同类型的;
unicode替换unicode,bytes替换bytes;
前两个正常执行,后面一个因为类型不一致,所以报错。import re ret = re.match("hel","hello") print(ret) ret = re.match(b"hel",b"hello") print(ret) ret = re.match(b"hel","hello") print(ret)
-
转义字符
反斜杠表示的含义
表示转义,表示后面的字符将在代码解析的时候进行转义。
\
所示的被解析后的代码为,在
re
模块表示后面的字符将会进行转义,可能是显示原字符。\\
在RE模块中表示真正的字符。
如下所示
import re ret = re.match("hello\\","hello\") print(ret.group())
- 两种匹配模式
- 原模原样的匹配。
import re ret = re.match(r"hello\","hello\") print(ret.group())
- 转义式匹配
import re ret = re.match("hello\\","hello\") print(ret.group())
不同点在于
r
,在匹配规则声明了r表示原模原样的匹配,一对一进行匹配。 - 原模原样的匹配。