세 단계로 정규식 읽기
직접 작성하지 않은 정규식을 받았을 때 한 번에 삼키려 하지 마. 세 단계로 나눠 읽어.
1단계: 앵커와 그룹 찾기. ^, $, (...), (?:...), (?=...)를 먼저 찾아. 이 조각들이 패턴의 구조 골격을 보여줘.
2단계: 문자 클래스와 수량자 읽기. 무엇이 반복되는지, 몇 번 반복되는지, 어떤 글자 집합인지 확인해. 그런 다음 조각마다 말로 풀어. [a-z]+는 "하나 이상의 소문자"야.
3단계: 전체를 한 문장으로 읽기. 입으로 설명할 수 있으면 이해한 거야. 설명이 막히면 regex101에 붙여 넣고 설명 패널을 읽어.
따라 읽기
패턴은 ^(\w+)\s+(\d{3,4})$야.
1단계에서 ^...$가 입력 전체를 묶고, 캡처 그룹 두 개가 공백으로 나뉜다는 구조를 잡아.
2단계에서는 \w+를 하나 이상의 단어 문자, \s+를 하나 이상의 공백, \d{3,4}를 3자리 또는 4자리 숫자로 읽어.
3단계에서 한 문장으로 합치면 이래. "단어, 공백, 3~4자리 숫자로만 된 줄을 매칭하고 단어는 그룹 1, 숫자는 그룹 2에 캡처해."
외우지 말고 찾아볼 것
드물게 등장하는 조각은 외우기보다 찾아봐. \p{...} Unicode 범주, (?(name)yes|no) 조건부 패턴, (?>...) 원자 그룹은 존재한다는 것만 알아도 충분해.