정규식(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)은 “생선 썩는 냄새로 악취가 코를 찔렀다”라며 두려움을 느꼈다고 고백했다.<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
"Microsoft VBScript Regular Expressions 5.5" 를 선택하고 실행하여야한다
실행결과를 VBA의 직접 실행창에서 확인해보면
깔끔하게 HTML TAG가 제거된 기사 데이타를 확인할 수 있다
'컴퓨터 > 엑셀' 카테고리의 다른 글
MS 워드에서 밑줄 영어 단어 추출하여 엑셀 파일에 넣기 (4) | 2012.01.03 |
---|---|
엑셀 영어 단어장에 동의어(Synonym), 반의어(Antonym) 추가 (0) | 2012.01.03 |
단어장 웹사전(네이버 사전) 이용하여 만들기 (4) | 2011.12.23 |
자동 영어 단어장 + 사지선다형(Multi Choice) 테스트 학습(엑셀 VBA로 구현) (1) | 2011.12.23 |
성경 구절 PPT 자동 생성(파워포인트로 만들어서 프로젝트로 영상) (201) | 2011.12.20 |