CloudFormation 템플릿에서 정규식 사용
템플릿 파라미터를 생성할 때 AllowedPattern
속성의 경우와 같이 CloudFormation 템플릿 내의 수많은 장소에서 정규식(일반적으로 regex라고 함)을 사용할 수 있습니다.
CloudFormation의 정규식은 Java regex 구문을 따릅니다. Java regex 구문과 그 구조에 대한 포괄적인 설명은 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}'