블로그 이미지
이비그치면

태그목록

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

HTML TAG 제거(정규식의 힘)

2012. 1. 3. 19:05 | Posted by 이비그치면

정규식(Regular Expression)은 UNIX에서 주로 시스템 관리자가 시스템에서 제공하는
여러 텍스트 데이타들을 쉽게 처리하기 위한 용도로 많이 사용되지만  주요한 스크립트 랭귀지(PERL, PYTHON등)에서도 텍스트를 처리하는데 아주 유용하게 사용된다.

텍스트데이타인 웹데이타를 처리하는 웹프로그래밍영역에서도 이 정규식은 프로그램이 처리할 많은 노력들을 상당히 줄여주는 좋은 웹 프로그래머들의 무기이다

웹페이지는 수많은 HTML TAG와 텍스트 데이타들로 구성되어진다 
다음의 문자열 데이타에서 HTML TAG를 제거하고 기사 데이타만을 추려내야한다고 하자

<strong>노르웨이서 청어 수만마리 떼죽음<br />미국서 수천마리 검정지빠귀 죽어<br /></strong><br />새해 벽두부터 동물의 떼죽음에 관심이 쏠리고 있다.<br /><br />지난해 미국 아칸소에서 수천마리 검정지빠귀가 죽어 길바닥에 즐비하게 깔린 데 이어 노르웨이 해변에서 청어가 떼 죽음 당해 해변을 가득 덮은 모습이 전해지면서 충격을 주고 있다. <br /><br />이에 일부에서는 세계 종말의 또 다른 전조라는 지적도 나오고 있다. <br /><br />3일 영국의 데일리 메일 보도에 따르면 청정국가인 노르웨이 북부 노드레이사에 위치한 크바에네스 해변에서 20t 분량의 청어 수만마리가 떼죽음을 당한채 발견됐다.<br /><br />죽은 물고기 떼를 처음 발견한 얀 피터 요르겐슨(44)은 &ldquo;생선 썩는 냄새로 악취가 코를 찔렀다&rdquo;라며 두려움을 느꼈다고 고백했다.<br />

Sub test()
Dim regEx
Set regEx = New RegExp

sText = "<strong>노르웨이서 청어 수만마리 떼죽음<br />미국서 수천마리 검정지빠귀 죽어~~....................................두려움을 느꼈다고 고백했다.<br />"
 
regEx.Pattern = "<[^>]+>"  '--- html tag match를 위한 정규식
regEx.IgnoreCase = True
regEx.Global = True
sText = regEx.Replace(sText, "")
Debug.Print sText
End Sub

VBA에서 실행하려면 도구-->참조에서 
"Microsoft VBScript Regular Expressions 5.5"  를 선택하고 실행하여야한다

실행결과를 VBA의 직접 실행창에서 확인해보면
깔끔하게 HTML TAG가 제거된 기사 데이타를 확인할 수 있다