É 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}'