如果以下字符不需要转义,转义字符应该怎么办?

Gar*_*eth 3 language-agnostic escaping

我正在处理的应用程序有一个字段,可以输入字符串.

字符串中的特殊字符会在计算字符串时导致插入不同的内容,但这些特殊字符前面可以包含一个转义字符(反斜杠),这会导致特殊字符按字面输出而不是其特殊含义.

可以将其视为与正则表达式类似:.匹配任何字符但\.匹配点.

当转义字符后跟一个不需要转义的字符时,最直观的事情是什么?例如,它会更有意义:

  1. 转义字符"逃避"文字本身:\f变为f("逃脱的f")
  2. 转义字符不是转义字符,除非后跟一个特殊字符:\f保持为\f
  3. 错误!抛出一个异常,因为有一个转义字符无法逃避任何东西是无效的

所有这些都是可能的,在我看来是合理的.但哪个更有意义,哪个在其他语言中最常见?

Nik*_*uhe 5

我投票支持第一个解决方案.它使形成字符串变得容易:如果你不知道某个字符在你的上下文中是否具有特殊含义,那就逃避吧.它不会受伤.