정규표현식의 메타 문자

Kim Jin Hyeok·2021년 2월 18일
0

문자 그대로의 의미가 아닌 특별한 의미로 쓰이는 문자를 메타문자라고 한다. 앞서 본 역슬래시(\), 마침표(.), 대괄호([])도 메타문자다.

공백 문자 찾기

정규표현식 검색을 수행할 때, 눈에 보이지 않는 공백 문자들을 찾아야 할 때가 있다. 이를 경우 다음과 같은 특수한 메타 문자를 사용할 수 있다.

  • [\b] : 백스페이스
  • \f : 페이지 넘김(form feed)
  • \n : 줄바꿈
  • \r : 캐리지 리턴
  • \t : 탭
  • \v : 수직 탭

이 중 \r, \n, \t 외에는 잘 쓰이지 않는다.

특정한 문자와 일치시키기

자주 쓰는 문자 집합은 특수한 메타 문자로 대신할 수 있다. 이를 문자 클래스 classes of characters 라고 부른다.

숫자와 숫자가 아닌 문자 찾기

  • \d : [0-9]와 같다.
  • \D : [^0-9]와 같다.

예문

myArray[0] = '1';
myArray[1] = '1';
myArray[2] = '1';

패턴

myArray[\d]

결과

myArray[0] = '1';
myArray[1] = '1';
myArray[2] = '1';

영숫자와 영숫자가 아닌 문자 찾기

  • \w : [a-zA-Z0-9_]와 같다. (밑줄까지 포함)
  • \W : [^a-zA-Z0-9_]와 같다. (밑줄까지 제외)

공백과 공백이 아닌 문자 찾기

  • \s : [\f\n\r\t\v]와 같다.
  • \S : [^\f\n\r\t\v]와 같다.

[\b]는 포함되지 않는다.

16진수와 8진수 표현

  • 16진수 : 값에 앞에 \x
  • 8진수 : 값에 앞에 \0

포직스 문자 클래스

포직스라는 것도 있는데 자바스크립트에서는 지원하지 않기 때문에 정리하지 않는다.

참고: Ben Forta, Learning Regular Expressions(2018)

0개의 댓글