1. unicode和bytes类型的匹配

  1. 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)
    
    前两个正常执行,后面一个因为类型不一致,所以报错。
  2. 转义字符

    反斜杠表示的含义

    1. 表示转义,表示后面的字符将在代码解析的时候进行转义。
    2. \所示的被解析后的代码为,在re模块表示后面的字符将会进行转义,可能是显示原字符。
    3. \\在RE模块中表示真正的字符。

    如下所示

    import re
    ret = re.match("hello\\","hello\")
    print(ret.group())
    
  3. 两种匹配模式
    1. 原模原样的匹配。
      	import re
      	ret = re.match(r"hello\","hello\")
      	print(ret.group())
      
    2. 转义式匹配
      	import re
      	ret = re.match("hello\\","hello\")
      	print(ret.group())
      

    不同点在于r,在匹配规则声明了r表示原模原样的匹配,一对一进行匹配。