我有简单的表达式\s和\\s。这两个表达式都与This is Sparta!!匹配。
>>> re.findall('\\s',"This is Sparta")
[' ', ' ']
>>> re.findall('\s',"This is Sparta")
[' ', ' ']我在这里很困惑。\用于转义特殊字符,\s表示空格,但两者在这里的表现如何?
发布于 2014-05-29 05:50:32
不要混淆python级别的字符串转义和regex级别的字符串转义。因为在python级别上,s不是一个不可回避的字符,所以解释器将像"\s“这样的字符串理解为"\”和"s“。将"s“替换为"n”(例如),它将其理解为换行符。
'\s' == '\\s'
True
'\n' == '\\n'
False发布于 2014-05-29 05:49:50
只有当转义字符有效时,\才转义下列字符
>>> len('\s')
2
>>> len('\n')
1与…比较
>>> len('\\s')
2
>>> len('\\n')
2https://stackoverflow.com/questions/23926524
复制相似问题