我一直在使用 AutoIt 程序,该程序应该接收声明到 .ini 文件中的变量。稍后可以使用双大括号“{{}}”和单大括号“{}”调用这些变量。这是一个例子。
Variable is defined by user as: VAR1 = "C:\MyDir\"
When user calls {{VAR1}} it receives "C:\\MyDir\\"
When user calls {VAR1} it receives "C:\MyDir\"
双花括号将“\”替换为“\\”;单个大括号仅给出实际变量值。
问题是:
1) 用户可以在变量定义中使用大括号: {VAR1} = "C:\MyDir\" 或 {{VAR1}} = "C:\MyDir\" ...
2)用户可以使用大括号编写文本并在文本内调用变量:
我的示例文本 {{{VAR1}}} 我的示例文本。
用户使用第二个 {{VAR1}} 大括号调用 {VAR1} 变量,并希望结果显示在第三个大括号内。
用户期望这样:“我的示例文本 {C:\MyDir} 我的示例文本。”
为了避免这种大括号递归的潜在问题,我想定义一个规则,当用户想要编写一个真正的大括号时使用转义大括号“{”,而当用户调用变量时使用非转义大括号。
根据前面的解释,我需要一个能够解析以下示例的正则表达式:
\{{{\{VAR1\}}}\}
必须忽略转义的大括号,函数应返回 \{VAR1\} 作为变量名。在这种情况下,变量“真实”名称是“{VAR1}”。
我希望你能帮助我。
此致,
风神