在 CloudFormation 範本中使用規則表達式 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 CloudFormation 範本中使用規則表達式

您可以在 CloudFormation 範本中的多個位置使用規則運算式 (通常稱為 regexe),例如在建立範本參數時用於 AllowedPattern 屬性。

CloudFormation 中的所有規則表達式都符合 Java regex 語法。如需 Java regex 語法及其建構的全面描述,請參閱 java.util.regex.Pattern

如果您以 JSON 語法撰寫 CloudFormation 範本,則必須新增額外的反斜線,以逸出規則表達式中的任何反斜線字元 (\)。這是因為 JSON 將反斜線解譯為逸出字元,而且您需要逸出它們,以確保它們在規則表達式中被視為常值反斜線。

舉例來說,若您要在 JSON 範本的常規表達式中加入 \d 以比對數字字元,則必須將該字元編寫為 \\d

在下列範例中, AllowedPattern 屬性會指定符合四個連續數字字元 () 的規則表達式\d{4}。不過,由於正規表達式是在 JSON 範本中定義,因此反斜線字元需要以額外的反斜線 () 逸出\\d

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

如果您以 YAML 語法撰寫 CloudFormation 範本,則必須使用單引號 ('') 包圍規則表達式。不需要額外的逸出。

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