top bar

글 목록

2014년 7월 10일 목요일

정규식 - 기본 패턴 찾기 (2)

임의의 문자 찾기

정규표현식에서 임의의 문자를 찾으려면 점(.)을 이용하면 된다. 점은 온점(U+002E)이라고도 불리는데, 특별한 경우가 아니라면 개행 문자를 제외한 모든 문자를 찾는다.

아래는 global 설정을 해제하여 점(.)으로 텍스트의 처음 등장하는 패턴을 찾은 예제다.



만약 THE RIME 구문 전체를 찾고 싶다면 다음 점 여덟개를 입력하자.



하지만 이것은 별로 효율적이지 못하다. 아래의 표현식으로 같은 패턴을 찾을수 있다.

.{8}

그래도 위 표현식은 중간에 공백이 포함되어있는 첫 두단어를 찾기엔 좀 그렇다.global체크 박스를 해제해보면 처음부터 끝까지 무조건 8글자를 찾아내기때문이다. 따라서, 단어 경계와 시작 문자, 그리고 끝 문자를 사용하여 좀더 세련되 표현식을 만들자면 아래와 같다



이 정규표현식은 좀더 명확하게 문자열을 찾는다. 위의 그림처럼 ANCYENT라는 단어를 찾았다. 위의 표현식을 설명하자면,



1. 단축문자 \b 는 특정문자가 아닌 단어의 경계를 찾는다.
2. 문자 A와 T는 단어의 처음과 끝 문자를 지정한다.
3. {5}는 임의의 문자를 다섯개 찾는다.
4. \b 는 또 다른 단어 경계를 찾는다.

따라서 이것은 A로 시작하고 T로 끝나는 7글자로된 단어를 찾을 수 있는 것이다.

마지막으로 영문자나 숫자, _(언더바), 기타 스크립트 문자를 찾는 \w 라는 단축 문자로 위와 같은 패턴을 찾는 표현식을 만들어보자. 다음과 같다.

\b\w{7}\b


댓글 없음:

댓글 쓰기