CloudFormation テンプレートでの正規表現の使用
CloudFormation テンプレート内では、正規表現 (regex と呼ばれることもあります) をさまざまな場所で使用できます (例えば、テンプレートパラメータの作成時の AllowedPattern
プロパティ)。
CloudFormation の正規表現はすべて、Java の正規表現構文に準拠しています。Java の正規表現構文とそのコンストラクトの包括的な説明については、「java.util.regex.Pattern
CloudFormation テンプレートを JSON 構文で記述する場合は、追加のバックスラッシュを追加して、正規表現のバックスラッシュ文字 (\) をエスケープする必要があります。これは、JSON がバックスラッシュをエスケープ文字として解釈するため、正規表現でリテラルバックスラッシュとして扱われるようにエスケープする必要があるためです。
たとえば、数字を示す \d
を正規表現に含める場合、JSON テンプレートでは \\d
と記述する必要があります。
次の例では、AllowedPattern
プロパティは、4 つの連続した数字 (\d{4}
) に一致する正規表現を指定します。ただし、正規表現は JSON テンプレートで定義されているため、バックスラッシュ文字は追加のバックスラッシュ (\\d
) でエスケープする必要があります。
{ "Parameters": { "MyParameter": { "Type": "String", "AllowedPattern": "\\d{4}" } } }
CloudFormation テンプレートを YAML 構文で記述する場合は、正規表現を一重引用符 ('') で囲む必要があります。追加のエスケープは必要ありません。
Parameters: MyParameter: Type: String AllowedPattern: '\d{4}'