#keywords 한글,정규 표현식 || [http://blog.jinbo.net/zeniroy/?pid=41] || ''' 2. 한글 추출 ''' 이 부분이 참 아스트랄 한데.. 한번 보자.. {{{#!vim cpp string jamo = "[\\x{3131}-\\x{318E}]"; string syllable = "[\\x{AC00}-\\x{D7A3}]"; string not_syllable = "[^\\x{AC00}-\\x{D7A3}]"; string paren = "\""; string not_paren_all = "[^"+paren+"]*"; string const_str = paren + not_paren_all + syllable + not_paren_all + paren; string const_str2 = paren + not_paren_all + not_syllable + not_paren_all + paren; }}} 일단 위의 4가지는 준비 단계에 해당하는 것이다. 자음모음은 unicode에서 0x3131 ~ 0x318E 까지 이다. 이를 string에 넣기 위해서는 꼭 \가 2개 들어가야 한다는 사실!! 안그러면 에러나요~;;; 음절은 0xAC00 ~ 0xD7A3 까지 이다. paren과 not_paren_all은 우리가 프로그램에서 보통 string을 "로 묶어서 쓰기때문에 들어가 있는 것이다. 첫번째 const_str은 "...한글..." 과 match되는 regular expression이다 하지만 그렇지 않다는 거!!! regex에서만 그런지 아님 다른 곳에서도 그런지 모르겠지만.. 이것은 한글이 아닌 것들만 쫙 골라내게 된다;; 그래서 내린 특단의 조치가 바로 const_str2이다 이것은 사실 "...한글 아닌 것..."과 match되어야 하지만.. 바로 이것이 "... 한글..."과 match되는 것이 아닌가.. 여기 저기 찾아보았지만 만족할 만한 대답을 보지 못했다.. 혹 누가 아신다면 알려주세요..ㅜ.ㅜ