Usar expressões regulares em modelos do CloudFormation - AWS CloudFormation

Usar expressões regulares em modelos do CloudFormation

É possível usar expressões regulares (conhecidas como regexes) em vários lugares dentro de um modelo do CloudFormation, como para a propriedade AllowedPattern ao criar o parâmetro de um modelo.

Todas as expressões regulares no CloudFormation estão em conformidade com a sintaxe regex de Java. Consulte uma descrição abrangente da sintaxe regex do Java e de seus constructos em java.util.regex.Pattern.

Se escrever o modelo do CloudFormation na sintaxe JSON, você deverá escapar qualquer caractere de barra invertida (\) na expressão regular adicionando uma barra invertida adicional. Isso porque o JSON interpreta barras invertidas como caracteres de escape, e você precisa escapá-las para garantir que elas sejam tratadas como barras invertidas literais na expressão regular.

Por exemplo, se você incluir \d em sua expressão regular para corresponder a um caractere de dígito, você precisará escrevê-lo como \\d em seu modelo JSON.

No exemplo a seguir, a propriedade AllowedPattern especifica uma expressão regular que corresponde a quatro caracteres de dígitos consecutivos (\d{4}). No entanto, como a expressão regular é definida em um modelo JSON, o caractere de barra invertida precisa ser escapado com uma barra invertida adicional (\\d).

{ "Parameters": { "MyParameter": { "Type": "String", "AllowedPattern": "\\d{4}" } } }

Se escrever o modelo do CloudFormation na sintaxe YAML, você deverá colocar a expressão regular entre aspas simples (‘’). Nenhum escape adicional é necessário.

Parameters: MyParameter: Type: String AllowedPattern: '\d{4}'
nota

Expressões regulares no CloudFormation só são aceitas para fins de validação em contextos específicos, como AllowedPattern. Elas não são aceitas como operações de correspondência de padrões nas funções intrínsecas do CloudFormation, como Fn::Equals, que realizam somente a comparação exata de strings, e não a correspondência de padrões.