Saw*_*adi 2 regex escaping google-cloud-platform terraform
我正在尝试使用 terraform 代码在 GCP 中设置自定义指标。我在获取 4xx 和 5xx 响应代码时遇到标签提取器部分问题。根据控制台响应和 Google 构建器,我设法创建了这个正则表达式:
\\s([4-5][0-9][0-9])\\s\
Run Code Online (Sandbox Code Playgroud)
googleapi:错误 400:无法解析提取器表达式:第 1 行第 36 列的字符串文字中不支持转义序列,标记 '"\s([1-5][0-9][0-9])\s" '
\\s) 的正则表达式时,代码可以完美运行。\之前"\零件的不同变体,但似乎都不起作用。extracted_label = "REGEXP_EXTRACT(jsonPayload.message, \"\\s([1-5][0-9][0-9])\\s\")"
Run Code Online (Sandbox Code Playgroud)
我希望能够创建一个指标,但我无法绕过不受支持的转义序列问题。我将不胜感激任何帮助。
我设法自己找到了这个问题的答案。正确的方法是使用 4 个斜杠\\\\
固定代码行应如下所示:
extracted_label = "REGEXP_EXTRACT(jsonPayload.message, \"\\\\s([4-5][0-9][0-9])\\\\s\")"
Run Code Online (Sandbox Code Playgroud)
另外,如果有人想在 Terraform GCP 中查找示例代码以从就绪状态检查中提取 HTTP 响应代码,这里是一个:
extracted_label = "REGEXP_EXTRACT(jsonPayload.message, \"\\\\w+\\\\/\\\\d\\\\.\\\\d\\\"\\\\s([4-5][0-9][0-9])\")"
Run Code Online (Sandbox Code Playgroud)