메타 문자 사용
Programming/RegEx 2013. 5. 6. 02:23 |공백 문자 찾기
정규 표현식 검색을 수행할 때, 눈에 보이지 않지만 텍스트에 포함되는 공백 문자들도 찾아야 할 때가 있다.
예를 들어, 탭 문자를 모두 찾거나 줄바꿈 문자를 찾고 싶을 수도 있다. 꼼수를 이용하지 않고 이런 문자를 정규 표현식에 직접 써넣기가 어렵기 때문에, 아래와 같은 특수한 메타 문자들을 사용할 수 있다.
공백 메타 문자
메타 문자 |
설 명 |
[\b] |
백스페이스 |
\f |
페이지 넘김(form feed) |
\n |
줄 바꿈 |
\r |
캐리지 리턴 |
\t |
탭 |
\v |
수직 탭 |
ex) \r\n\r\n
\r\n은 줄 바꿈과 캐리지 리턴의 조합과 일치한다. 위도우에서 이 조합은 줄의 끝을 나타내는 데 사용한다.
따라서 \r\n\r\n 을 검색하면, 줄 끝이 연속해서 두 번 나오는 부분과 일치하는데, 이때 줄의 끝이 두 번 나온다는 것은 바로 두 레코드 사이에 빈 줄이 있음을 의미한다.
특정한 문자 형태와 일치시키기
문자 집합은 검색에서 쓰는 가장 흔한 형태이기에, 자주 쓰는 문자 집합들은 특수한 메타 문자로 대신하기도 한다.
이러 테마 문자들을 문자 클래스(classes of characters)라고 부른다. 직접 찾고 싶은 문자들을 열거하거나 범위를 사용하면 되기 때문에, 실제로 클래스 메타 문자를 써야만 하는 경우는 결코 없지만, 사용해 보면 너무나도 유용함을 알게 될 것이다.
다음은 거의 모든 정규 표현식 구현에서 기본으로 지원하는 클래스들이다.
숫자 메타 문자
메타 문자 |
설 명 |
\d |
숫자 하나([0-9])와 같다. |
\D |
숫자를 제외한 문자 하나([^0-9]와 같다) |
regex: myArray\[\d\+\]
※ 정규 표현 문법은 대소문자를 구별한다. \d는 숫자 하나와 일치하고, \D는\d와 뜻이 정반대다.
클래스 메타 문자에서도 소문자와 대문자는 서로 반대임을 뜻한다.
영숫자 문자와 영숫자가 아닌 문자 찾기
자주 사용하는 문자 집합이 또 있다. 영숫자(alphanumeric) 문자로, 대문자와 소문자를 포함한 알파벳 A부터 Z, 숫자, 밑줄을 포함한다.
대개 파일이나 디렉토리 이름, 애플리케이션 변수명, 데이터베이스 객체 이름 등에 사용한다.
영숫자 메타 문자
메타 문자 |
설 명 |
\w |
대소문자와 밑줄을 포함하는 모든 영숫자([a-zA-Z0-9_]와 같다) |
\W |
영수자나, 밑줄이 아닌 모든 문자(^a-zA-Z0-9_]와 같다) |
regex:
'Programming > RegEx' 카테고리의 다른 글
반복 찾기(+, *) 와 '?' 메타 문자 (0) | 2013.05.12 |
---|---|
포직스(POSIX) 문자 클래스 (0) | 2013.05.12 |
문자 집합으로 찾기 (0) | 2013.05.06 |
정규 표현식(Regualr Expression) (0) | 2013.05.05 |
태그 찾기 (0) | 2013.02.12 |