【发布时间】:2010-10-06 15:53:14
【问题描述】:
我正在处理的应用程序有一个可以输入字符串的字段。
字符串中的特殊字符会导致在评估字符串时插入不同的内容,但这些特殊字符前面可以有一个转义字符(反斜杠),这会导致特殊字符按字面意思输出,而不是其特殊含义。
将其视为类似于正则表达式:. 匹配任何字符,但 \. 匹配点。
当转义字符后面跟着一个不需要转义的字符时,最直观的事情是什么?例如,是否更有意义:
- 转义字符“转义”文字本身:
\f变为f(“转义的 f”) - 除非后面跟着特殊字符,否则转义字符不是转义字符:
\f保持为\f - 错误!抛出异常,因为转义字符不转义任何内容是无效的
所有这些都是可能的,并且在我看来是合理的。但哪个更有意义,哪个已经在其他语言中最常见?
【问题讨论】:
标签: language-agnostic escaping