도저히 이해할 수 없는 무엇이 등장했습니다. 동작하는 코드인지 궁금해서 실행해보면 놀랍게도 전화번호 데이터만 가지고 있는 문자열을 얻을 수 있습니다.
출력 > 02-123-4567 070-9999-9999 010 2454 3457
이 코드가 어떻게 원하는 데이터만 가지고 올 수 있는지 궁금하다면 지금부터는 어렵더라도 다음 표를 모두 외워야 합니다. 정규표현식은 어떠한 원리에 의해 만들어진 것이 아니라 약속된 기호이므로 암기하는 것밖에 방법이 없습니다.
▼ 표 4-1 자주 사용하는 정규표현식
표현식 |
의미 |
^X |
문자열이 X로 시작됨을 의미 |
X$ |
문자열이 X로 끝남을 의미 |
. |
임의의 한 문자를 의미 |
X* |
문자 X가 0번 이상 반복됨을 의미 |
X+ |
문자 X가 1번 이상 반복됨을 의미 |
X? |
문자 X가 존재할 수도, 존재하지 않을 수도 있음을 의미 |
X|Y |
문자 X 또는 문자 Y가 존재함을 의미 |
(X) |
문자 X를 정규표현식 그룹으로 처리함을 의미 |
X{n} |
문자 X가 n번 반복됨을 의미 |
X{n,} |
문자 X가 n번 이상 반복됨을 의미 |
X{n, m} |
문자 X가 n번 이상 m번 이하 반복됨을 의미 |
[XY] |
문자 X 또는 Y 중 하나임을 의미 |
[^X] |
문자 X를 제외한 문자를 의미 |
[A-Z] |
문자 A부터 문자 Z까지의 문자를 의미(범위) |