개발노트

URL Filtering용 정규식을 작성하자

대단한넘 2010. 7. 21. 23:02
문서나 Text중에서 url의 위치를 찾고자 하는 경우가 있다.

일반적인 정규식에서 URL을 찾는 방법의 정규식은 다음과 같다.

https?://[-\w.]+(:\d+)?(/([\w/_.]*)?)?

설명 : 
https?://에서 물음표는 s가 있다면 하나와 일치한다는 뜻이니 http://나 https://와 일치한다.
[-\w.]+ 는 호스트 이름과 일치한다.
(:\d+)? 는 두번째와 여섯번째 URL과 같이 포트번호가 있을경우 일치한다.
(/([\w/_.]*)?)? 는 경로와 일치하는데, 바깥쪽 하위 푷ㄴ식은 슬래시가 존재한다면 슬래시 하나와 일치하고 안쪽 하위 표현식은 경로 자체와 일치한다..
위의 정규식은 호스트 이름, 포트번호, 경로로 이루어진 URL 대부분을 제대로 처리가능하다.

[참고문헌 : 손에잡히는정규표현식]


P.S. 다음의 링크는 자바에서 정규식을 어떻게 사용하고 응용하는지 참고.

http://jakarta.tistory.com/40

http://yanggoony.tistory.com/42