我正在构建一个非常简单的模板处理器。它只能替换变量的值。
我想我会首先将字符串分解成部分(常量部分和变量引用)。然后我会用相应的值替换所有变量引用。最后,我会将所有部分重新连接在一起。
为了分解字符串,我需要按以下方式对其进行切片。
像这样的字符串
"UPDATE {ix:tablename} SET value = value + 1 WHERE {ix:column} = {ix:value}"
应该导致以下数组
[
"UPDATE ",
"{ix:tablename}",
" SET value = value + 1 WHERE ",
"{ix:column}",
" = ",
"{ix:value}"
]
我知道这可以通过重复搜索第一个左括号,然后是第一个右括号来完成。但是没有比这更优雅的解决方案(也许是一些正则表达式的魔法?)。