Я получил эту переменную:
variable "ip" {
default = "1.1.1.1/32"
}
В некоторых случаях мне нужен полный префикс: "1.1.1.1/32"
, но иногда мне просто нужен префикс ip sans: "1.1.1.1"
Теперь 0,12 есть новая функция, которую я мог бы использовать следующим образом:
trimsuffix(var.ip, "/32")
Но я не хочу жестко кодировать префикс подобным образом. Есть ли способ удалить подстроку базы в соответствии с регулярным выражением или даже просто обрезать последние 3 символа из строки? Я не могу использовать substr (), потому что он ожидает, что я знаю полную длину строки
РЕДАКТИРОВАТЬ: поэтому пытаетесь сделать это с помощью regex (), но не уверены, что terraform поддерживает полное регулярное выражение?
https://regex101.com/r/EGzxAq/1 Я получаю сообщение об ошибке:
> regex("^.+(?=\/)","11.1.1.1/32")
>
Error: Invalid escape sequence
on <console-input> line 1:
(source code not available)
The symbol "/" is not a valid escape sequence selector.
И затем, когда я пытаюсь сбежать от обратного слэса sh:
> regex("^.+(?=\\/)","11.1.1.1/32")
>
Error: Invalid function argument
on <console-input> line 1:
(source code not available)
Invalid value for "pattern" parameter: invalid regexp pattern: invalid or
unsupported Perl syntax in (?=.