Terraform正则匹配中如何转义美元符号$?
Terraform正则匹配中转义美元符号$的正确方法
在Terraform中直接用\$转义美元符号会报错,因为Terraform的字符串解析规则里,\$不属于合法的转义序列。解决这个问题有两种可行方式:
双反斜杠转义
Terraform字符串里的反斜杠需要先转义自身,所以要在正则中表示转义的$,需要写成\\$。修改后的代码如下:[ for spn in group.new_spn_owners : spn if length(regexall("^\\$.*", spn)) == 0 ]使用原始字符串语法
用三个双引号"""包裹正则字符串,这种语法下内部的反斜杠不需要额外转义,直接写\$即可:[ for spn in group.new_spn_owners : spn if length(regexall("""^\$.*""", spn)) == 0 ]
内容的提问来源于stack exchange,提问作者Bernard Halas
相关产品推荐
相关产品推荐

