Uso de expresiones regulares en plantillas de CloudFormation
Puede utilizar expresiones regulares (conocidas habitualmente como regexes) en una serie de lugares en sus plantillas de CloudFormation, como, por ejemplo, para la propiedad AllowedPattern
al crear un parámetro de plantilla.
Todas las expresiones regulares en CloudFormation cumplen la sintaxis de expresiones regulares de Java. Para obtener una descripción completa de la sintaxis de expresiones regulares de Java y sus constructos, consulte java.util.regex.Pattern
Si escribe la plantilla de CloudFormation en sintaxis JSON, debe aplicar escape cualquier carácter de barra invertida (\) en la expresión regular mediante la incorporación de una barra invertida adicional. Esto se debe a que JSON interpreta las barras invertidas como caracteres de escape, y necesita aplicarles escape para asegurarse de que se tratan como barras invertidas literales en la expresión regular.
Por ejemplo, si incluye una \d
en su expresión regular para que coincida con un dígito, tendrá que escribirlo como \\d
en su plantilla de JSON.
En el ejemplo siguiente, la propiedad AllowedPattern
especifica una expresión regular que coincide con cuatro caracteres de dígitos consecutivos (\d{4}
). Sin embargo, dado que la expresión regular se define en una plantilla JSON, es necesario aplicar escape al carácter de barra invertida con una barra invertida adicional (\\d
).
{ "Parameters": { "MyParameter": { "Type": "String", "AllowedPattern": "\\d{4}" } } }
Si escribe la plantilla de CloudFormation en la sintaxis YAML, debe escribir la expresión regular entre comillas simples (“). No se necesita aplicar una secuencia de escape adicional.
Parameters: MyParameter: Type: String AllowedPattern: '\d{4}'