안녕하세요. I's 입니다.
오늘 알아볼 내용은 메타 문자인데요.
메타 문자란 원래의 정의에서 벗어난 특별한 의미로의 사용. 이라는 느낌으로
다가가시면 되겠습니다. 여기서 이스케이프라는 것을 알아두어야 하는데요.
메타 문자의 경우 원래 자신의 뜻이 아닌 뜻으로 사용되기 때문에, 이를 구분해주기
위해서 역슬러쉬(\)를 사용하여, 이번에는 원래 자신의 뜻으로 사용해라.. 라고
만들어주는 것입니다.
가령 .(마침표)는 어떤 하나의 문자와도 일치 하는데, 정말 마침표를 찾고 싶다면,
이를 \. 으로 표시하면 어떤 하나의 문자가 아닌 그냥 마침표의 뜻으로 사용되어집니다.
역슬러쉬 역시 그대로 표현하고 싶다면 \\ 이렇게 역슬러쉬역슬러쉬를 사용하면 되겠습니다.
여기서, 살짝(?) 주의해야 할점이라면, 짝으로 이뤄진 메타문자의 경우 반드시 짝을 마춰줘야
한다는 것입니다. 가장 자주 사용하는 것 중에는 바로 [](집합) 이 있겠죠? ^^
다음은 메타문자 중에 공백문자를 나타내는 것인데요.
[\b] 백스페이스
\f 페이지의 넘김
\n 줄바꿈
\r 캐리지 리턴
\t 탭
\v 수직 탭
을 각각 의미합니다. \r 의 캐리지 리턴의 경우 \n\r 로 많이 사용하는 데요.
엔터를 치게 되면 보통 줄바꿈과 다음 줄의 맨앞으로 이동하게 되는데요. 이 경우에
줄바꿈은 \n, 줄 맨앞으로 이동하는 것은 \r 로 생각하시면 이해가 빠르겠네요.
다음으로, 숫자가 아닌 문자를 찾는 메타 문자 입니다.
\d 한자리 숫자와 일치 <=> [0-9]
\D 한자리 숫자를 제외한 문자하나와 일치 <=> [^0-9]
위에서 쭉 열거 한대로 이제 어떻게 사용하는 것인지는 대충 감이 잡히시리라 믿습니다.
그럼, 다음으로 넘어가서
\w 영숫자와 밑줄에 일치 <=> [a-zA-Z0-9]
\W 영숫자와 밑줄을 제외한 문자에 일치 <=> [^a-zA-Z0-9]
\s 모든 공백 문자와 일치 <=> [\f\n\r\t\v]
\S 모든 공백 문자가 아닌 문자와 일치 <=> [^\f\n\r\t\v]
16진수 표현
\x ex) \x0A
8진수 표현
\0 ex) \011
마지막으로, 포직스 문자 클래스 입니다.
포직스란 메타 문자와 여러 문자 집합을 줄여 쓰는 방법에 대한 설명이라고 할수있습니다.
사용 방법은
[:alnum:] 모든 영숫자 [a-zA-Z0-9]
[:alpha:] 모든 영문자 [a-zA-Z]
[:blank:] 빈칸(space)이나 탭 문자[\t]
[:cntrl:] 아스키 제어문자(아스키 0번부터 31, 127번)
[:digit:] 모든 한자리 숫자[0-9]
[:print:] 출력 가능한 모든 문자
[:graph:] [:print:]와 동일하나 빈칸(space)은 제외
[:lower:] 모든 소문자[a-z]
[:upper:] 모든 대문자[A-Z]
[:punct:] [:alnum:] 이나 [:cntrl:] 가 포함되지 않은 문자
[:space:] 빈칸을 포함한 모든 공백 문자([\f\n\r\t\v])
[:xdigit:] 모든 16진수 숫자([a-fA-F0-9])
하.. 이번 경우에는 전부 외워서 적진 못하였네요..
많은 게 한번에 나오면 다 외우지 못한다는... ^^;
포직스의 방법은 지금까지 배운 정규식에서 집합 문자 사용법과 같습니다.
이제 슬슬 알아가는 것이 매우 많아지는 시기인듯 합니다.
특히나, 정규 표현식에서는 대소문자를 구분하기 때문에, 특별히 더 신경을 써야될거같네요.
이상 I's 였습니다. ~
오늘 알아볼 내용은 메타 문자인데요.
메타 문자란 원래의 정의에서 벗어난 특별한 의미로의 사용. 이라는 느낌으로
다가가시면 되겠습니다. 여기서 이스케이프라는 것을 알아두어야 하는데요.
메타 문자의 경우 원래 자신의 뜻이 아닌 뜻으로 사용되기 때문에, 이를 구분해주기
위해서 역슬러쉬(\)를 사용하여, 이번에는 원래 자신의 뜻으로 사용해라.. 라고
만들어주는 것입니다.
가령 .(마침표)는 어떤 하나의 문자와도 일치 하는데, 정말 마침표를 찾고 싶다면,
이를 \. 으로 표시하면 어떤 하나의 문자가 아닌 그냥 마침표의 뜻으로 사용되어집니다.
역슬러쉬 역시 그대로 표현하고 싶다면 \\ 이렇게 역슬러쉬역슬러쉬를 사용하면 되겠습니다.
여기서, 살짝(?) 주의해야 할점이라면, 짝으로 이뤄진 메타문자의 경우 반드시 짝을 마춰줘야
한다는 것입니다. 가장 자주 사용하는 것 중에는 바로 [](집합) 이 있겠죠? ^^
다음은 메타문자 중에 공백문자를 나타내는 것인데요.
[\b] 백스페이스
\f 페이지의 넘김
\n 줄바꿈
\r 캐리지 리턴
\t 탭
\v 수직 탭
을 각각 의미합니다. \r 의 캐리지 리턴의 경우 \n\r 로 많이 사용하는 데요.
엔터를 치게 되면 보통 줄바꿈과 다음 줄의 맨앞으로 이동하게 되는데요. 이 경우에
줄바꿈은 \n, 줄 맨앞으로 이동하는 것은 \r 로 생각하시면 이해가 빠르겠네요.
다음으로, 숫자가 아닌 문자를 찾는 메타 문자 입니다.
\d 한자리 숫자와 일치 <=> [0-9]
\D 한자리 숫자를 제외한 문자하나와 일치 <=> [^0-9]
위에서 쭉 열거 한대로 이제 어떻게 사용하는 것인지는 대충 감이 잡히시리라 믿습니다.
그럼, 다음으로 넘어가서
\w 영숫자와 밑줄에 일치 <=> [a-zA-Z0-9]
\W 영숫자와 밑줄을 제외한 문자에 일치 <=> [^a-zA-Z0-9]
\s 모든 공백 문자와 일치 <=> [\f\n\r\t\v]
\S 모든 공백 문자가 아닌 문자와 일치 <=> [^\f\n\r\t\v]
16진수 표현
\x ex) \x0A
8진수 표현
\0 ex) \011
마지막으로, 포직스 문자 클래스 입니다.
포직스란 메타 문자와 여러 문자 집합을 줄여 쓰는 방법에 대한 설명이라고 할수있습니다.
사용 방법은
[:alnum:] 모든 영숫자 [a-zA-Z0-9]
[:alpha:] 모든 영문자 [a-zA-Z]
[:blank:] 빈칸(space)이나 탭 문자[\t]
[:cntrl:] 아스키 제어문자(아스키 0번부터 31, 127번)
[:digit:] 모든 한자리 숫자[0-9]
[:print:] 출력 가능한 모든 문자
[:graph:] [:print:]와 동일하나 빈칸(space)은 제외
[:lower:] 모든 소문자[a-z]
[:upper:] 모든 대문자[A-Z]
[:punct:] [:alnum:] 이나 [:cntrl:] 가 포함되지 않은 문자
[:space:] 빈칸을 포함한 모든 공백 문자([\f\n\r\t\v])
[:xdigit:] 모든 16진수 숫자([a-fA-F0-9])
하.. 이번 경우에는 전부 외워서 적진 못하였네요..
많은 게 한번에 나오면 다 외우지 못한다는... ^^;
포직스의 방법은 지금까지 배운 정규식에서 집합 문자 사용법과 같습니다.
이제 슬슬 알아가는 것이 매우 많아지는 시기인듯 합니다.
특히나, 정규 표현식에서는 대소문자를 구분하기 때문에, 특별히 더 신경을 써야될거같네요.
이상 I's 였습니다. ~
'program study' 카테고리의 다른 글
[자바스크립트] 숫자만 입력받기 (0) | 2010.10.27 |
---|---|
[네트워크]Switch (0) | 2010.06.23 |
[JAVA] 조건문과 반복문의 속도 개선 (1) | 2010.05.20 |
[JAVA] Collection 및 Map 인터페이스 (0) | 2010.05.12 |
[정규 표현식] 문자 집합으로 찾기 (0) | 2010.05.07 |