Jakarta 프로젝트의 regexp(정규식) 패키지 사용하기 개요 - 정규식(Regular Expression)이란? 정규식이란 어떠한 언어를 표현할 수 있는 문자식을 의미한다. 정규식의 이론적인 개념은 이 문서의 범위 밖이므로 접어두기로 하고 단지 정규식이 문자열의 패턴을 표현할 수 있는 것이라고만 알아두자. Perl이나 sed를 사용해본 독자들은 벌써 알겠지만 정규식은 문자열의 패턴매칭(Pattern matching)을 위하여 사용할 수 있다. 즉, 정규식을 사용하여 문자패턴을 표현하고 어떤 문자열이 그 패턴과 동일한지 알 수 있도록 해주는 역할을 한다. - 왜 정규식을 사용하는가? 자바는 이전의 프로그래밍 언어에 비해 개발이 용이하고 특히 웹 개발에 많이 이용되므로 현재 많은 인기를 누리고 있다. 그러나, 자바는 고급언어이므로 특정 작업을 세세히 구현하는 기능을 모두 제공하지는 않는다. 그런 취약점 중의 하나가 바로 자바의 문자처리 능력이다. Perl을 사용해 보았다면 Perl의 능수능란한 문자처리 능력에 놀란 적이 있을 것이다. 패턴매칭은 물론 문자열의 삭제, 삽입, 수정등이 아주 간단하게 수행된다. 자바의 문자처리 능력은 한마디로 빈약하다. String 클래스가 어느 정도 그러한 기능을 구현하긴 하지만 Perl에서와 같은 기능을 발휘하기엔 턱없이 부족하다. 그러나, 자바로 개발하다 보면 Perl에서와 같은 강력한 문자처리 능력이 긴요하게 쓰일때가 있다. 예를 들어 HTML 문서의 폼(form)에서 사용자가 주민등록번호, 생년월일, 또는 전화번호를 입력하였을 경우 어떤 특정한 형태로 입력하라고 쓰여져 있는 웹페이지들을 많이 보았을 것이다. 그런데, 사용자에게 일일이 개발자가 원하는 형태로 정보를 입력하라고 하는 것보다는 개발자가 직접 사용자가 입력한 정보에서 자기가 원하는 것을 추려서 사용하는 것이 사용자에게 불편함을 덜어줄 수 있고 많은 에러들을 피할 수 있다. 게다가 정규식을 사용하면 사용자가 어떤 형태의 데이터를 입력하든지 개발자가 원하는...
댓글