最近在自学python,字符串和正则表达式的特殊字符转义有点混淆,做个笔记简单总结一下。
1.普通字符串转义
在字符串中使用特殊字符时,要用反斜杠(\)转义字符。例如:'Let\'s go!',这里对单引号进行转义。
在不想把反斜线当作特殊字符时,可以使用原始字符串,原始字符串以r开头。
例如:print r'C:\nowhere'等价于print 'C:\\nowhere'
2. 正则表达式中特殊字符转义
在正则表达式中如果要将特殊字符(如通配符.)当作普通字符进行匹配,需要使用反斜杠进行转义。比如,要匹配一个反斜杠本身,也许要用'\\\\'来作为正则表达式的字符串,因为正则表达式字符串里要用\\对特殊字符进行转义,而字符串中的每个反斜杠都要用\\表示。
可以使用原始字符串来简化这个问题,这种方式在正则表达式中很常见。例如,上面匹配反斜杠可以写成r'\\',这样就很容易理解了。
更多正则表达式的内容可以参考:http://www.cnblogs.com/xupeizhi/archive/2013/02/05/2892479.html