>> Delete No. 9523 article
No. [질문] 2바이트 문자 다룰때 레귤라 익스프레션....

등록 2000-10-26 14:03:00 By localhost     조회 3
이름 정원창    

		안녕하세요.
 여기에 질문드려도 될까 모르겠네요.
 펄의 레귤라 익스프레션에서 궁금한 것이 있어서 질문 드립니다.
지금 제가 '일본어용 한자'를 다루고 있는데요,
(물론 일본어 캐릭터 셋입니다.)
예를 들어,
 if ( $a = /韓/ )
 이런 표현을 쓸 일이 많이 있습니다.
$a안에 韓이라는 글자가 포함되는지를 검사하게 되겠죠.
그런데 펄은 2바이트 문자를 잘 처리하지 못하므로,
위와 같은 경우는 1바이트 문자 두개를 검색하는 것으로 인식합니다.
물론 대개의 경우에는 이렇게 해도 별 문제가 없는데,
어떤 한자의 경우는 뒷부분 1바이트가 대괄호 [ 혹은 ]에 해당하고,
어떤 한자는 백슬래쉬 에 해당하는 경우가 있는 모양입니다.
이런 경우는 regular expression안에 부적절하게 [ ]나 를 사용했다는
에러메시지가 뜨면서 프로그램이 종료됩니다.
컴퓨터 입장에서는 /韓/이라는 표현이
/a]/혹은 /a/로 간주되는 모양입니다.
(물론 韓이라는 글자가 에러가 난다는 것은 아니구요. 예를 든것입니다.
 실제로는 夕,十,啓등등의 글자들이 에러가 납니다.)
  이런 경우에 해당하는 한자는 도저히 검색할 수가 없더군요.
 책등을 찾아보니, 2바이트 문자와 1바이트 문자 모두
각각 한글자로 처리하게 도와주는 트릭등이 있던데,
레귤라 익스프레션에서 사용할 경우는 도움이 안되더군요.
  어떤 트릭등을 이용해서 이런 경우를 빠져나오는 수가 있을 법도 한데...
고수님들의 조언을 부탁드립니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved