regex 模块输出变量的地形替换函数

1cosmwyk  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(118)

这是用于前门配置设置。
输出变量module.storageacc.primary_web_endpoint包含以下字符串:https://url.server.com/
我需要将此值传递给backend_pools配置中的host_headeraddress字段。关键是该值只需要包括主机名,而不包括https://或尾随的/
这个正则表达式在regexr.com上可以用来去掉不需要的字符串字符,但是在Terraform中它根本不起作用。

(https://)|(/)

个字符

ubof19bj

ubof19bj1#

我发现在terraform中添加regex值的语法是在regex值的开头和结尾添加一个“/”。
更正代码:
host_header = replace(module.storageacc.primary_web_endpoint,"/https://)|(/)|(/))/",””)
address = replace(module.storageacc.primary_web_endpoint,"/https://)|(/)|(/))/",””)

nxagd54h

nxagd54h2#

稍微纠正一下@lgpana的回答:如果你的url曾经包含一个路径,正则表达式会替换所有的/,而不仅仅是尾部。这可以通过使用行结束符$来避免,如下所示:

host_header = replace(module.storageacc.primary_web_endpoint,"/(^https://)|(/$)/","")

address = replace(module.storageacc.primary_web_endpoint,"/(^https://)|(/$)/","")

字符串
(当我这样做的时候,我还指定https应该以^开头)

相关问题