我正在寻找一个好的字符对,用于在我们的内部模板引擎的下一个版本的模板中包含模板代码。
当前的一个使用plain {}但这使得解析器非常复杂,无法区分模板中文字文本中的实际代码块和随机{}字符。
我认为像asp.net或php中使用的双字符组合是一个更好的方法,但问题是我应该使用char字符对还是有一些从未使用过且易于编写的完美单字符。
需要填写的一些标准:
- 无法通过HTMLEncode进行更改,源代码可以通过基于Web的HTML编辑器和简单的textareas进行编辑,无论使用何种编辑器,都需要保持不变。
- 在HTML编辑器中编辑后,将使用正则表达式清理代码部分,该编辑器可能编码了代码块的内部部分,如&字符。
- 在英语和瑞典语键盘布局上应该很容易写。
- 应该是一个非常罕见的组合,模板将生成HTML和文本,并且可以包含带有JSON的CSS和Javascript文字文本,因此任何可能与之碰撞的组合都很糟糕,除非非常罕见。这意味着{{}}在JSON中可能会出现。
- 代码块中的代码将包含空格,下划线,美元和更多组合,不仅包括字段名,还包括if / while结构。
- 使用Antlr生成解析器
我正在寻找建议和反对意见,找到一种或多种能够在尽可能多的情况下工作的组合,可能是针对不同情况的多种替代配对。