Q
逃生绳和后
1
A
回答
1
有是每个只有一个反斜杠,但打印字符串的repr
时,他们被复制(逃脱) - 就像你使用一个字符串来构建一个正则表达式时需要复制它们。所以一切都很好。
例如:
>>> len("\\")
1
>>> len("\\n")
2
>>> len("\n")
1
>>> print "\\n"
\n
>>> print "\n"
>>>
0
反斜杠不重复。为了实现这一目标,努力做到:
for element in key:
print element
你会看到这样的输出:
\#one\
\#two\
\#some\
\#tests\
\#are\
\#done
当您打印整个列表,蟒蛇用表示,其中字符串不打印为他们,但它们被打印为python表达式(注意引号“”,它们不在字符串中)
要实际编码包含反斜杠的字符串,您需要复制该反斜杠。这就对了。
1
\字符是一个转义字符,即改变后续字符[s]的含义的字符。例如,“n”字符只是一个“n”。但是如果你像“\ n”那样转义它就会成为“换行符”。因此,如果您需要使用\ literal,则需要使用...自身:\\
0
当您将列表转换为字符串(例如打印它)时,它会调用repr
包含的每个对象在列表中。这就是为什么你会在你的第二行输出中得到引号和额外的反斜杠。试试这个:
s = "\\a string with an escaped backslash"
print s # prints: \a string with an escaped backslash
print repr(s) # prints: '\\a string with an escaped backslash'
的repr
调用把引号括起来的周围,并展示了反斜杠。
相关问题
- 1. PHP的SQL注入逃生绳
- 2. 逃生#{{}}
- 3. 逃生和在App.config中
- 4. 逃生的命令为“和\
- 5. Solr的dataimport和SQL和XML逃生
- 6. Simulink逃生delete_block
- 7. 逃生撇号
- 8. 逃生苏-c
- 9. 逃生变量
- 10. Python:json.loads逃生甩
- 11. AutoHotkey的逃生*
- 12. 逃生斜线
- 13. 逃生HTML
- 14. 逃生和替换报价在VBS
- 15. 如何逃生<和“XSLT文件?
- 16. 逃生html标签
- 17. 逃生$ NUM别名
- 18. 逃生的ExtJS的
- 19. \ C逃生用C
- 20. 在逃生的.vimrc
- 21. ASP.NET MVC HTML逃生
- 22. C#MVC逃生JSON
- 23. 生逃生Python中除了最后一个字符
- 24. MySQL真正的逃生 - 自己的逃生 - o到ö?
- 25. 的fscanf用绳子和长
- 26. 如何逃生CMD在Dockerfile
- 27. 解析错误逃生PHP
- 28. 逃生新线与JS
- 29. 逃生JavaScript事件范围
- 30. 树枝逃生标签
Aww我明白了,谢谢!另一个小问题:有没有办法告诉're.escape'不要逃离空格? –
@JohnSmith:不,''re.escape()'[只是在每个非字母数字字符前打一个反斜杠](http://docs.python.org/library/re.html#re.escape)。这有点矫枉过正,但不应该伤害。实际上,如果在编译正则表达式时使用're.VERBOSE',则需要转义空格。 –
在你的情况下,它确实受到了伤害,但是你可以很容易地解决这个问题:首先拆分,然后转义:'key = [key.split()]中item的[re.escape(item)]'。 –