r"hi"
这里字符串前面加了r,是raw的意思,它表示对字符串不进行转义。为什么要加这个?你可以试试print "hi"和r"hi"的区别。
>>> print "hi"
hi
>>> print r"hi"
hi
可以看到,不加r的话,就没有了。因为python的字符串碰到“”就会转义它后面的字符。如果你想在字符串里打“”,则必须要打“”。
>>> print "\bhi"
hi
这样的话,我们的正则表达式里就会多出很多“”,让本来就已经复杂的字符串混乱得像五仁月饼一般。但加上了“r”,就表示不要去转义字符串中的任何字符,保持它的原样。