게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: html tag를 없애는 정규식에서의 궁금증 |
---|
작성자: 송원석
작성일시: 2004-04-30 18:53,
조회수: 3,296
|
안녕하세요? 송원석입니다. ^_^
무슨 말씀이신지 잘 이해했습니다. 그럼 질문하신 내용을 하나씩 차분히 살펴보도록 하겠습니다. 1. "<.+?>"이 정규 표현식 패턴을 분석해보면 이렇습니다. < 문자는 그냥 그대로 이해하시면 됩니다. 즉 < 문자로 시작하고... 그 다음에 나오는 . 문자는 모든 문자를 의미하는 정규 표현식 문자입니다. 따라서 < 문자 다음에는 어떤 문자든지 다 나올 수 있습니다. 그리고 그 다음에 나오는 + 문자는 바로 앞의 문자가 최소한 한 개 이상이 나온다는 의미입니다. 따라서 지금까지는 < 문자로 시작하면서 어떤 문자든지 그 다음에 나타날 수 있는데 최소한 한 개 이상이 나온다는 뜻이 됩니다. 여기까지는 이해되시죠? ^_^ 그리고 그 다음에 ? 문자가 나오는데 이것은 잠시 후에 다시 설명을 드리겠습니다. 그 마지막으로 나오는 문자는 > 문자이므로 > 문자로 끝난다는 뜻입니다. 결국 위의 정규 표현식 패턴에서 ? 문자만 빼고 의미를 요약해본다면 < 문자로 시작하면서 > 문자로 끝나고 그 사이에 어떤 문자던지 한 글자 이상 나오는 모든 문자열을 의미합니다. 즉 태그의 형태를 지닌 문자가 되는 것이죠. 그런데 한 가지 문제가 있습니다. 예를 들어서 작업의 대상이 되는 문자열이 <TAG>ABC</TAG> 라고 가정한다면 위의 정규 표현식 패턴은 <TAG> 와 </TAG> 를 골라내는 것이 아니라 <TAG>ABC</TAG> 전체를 의미하게 됩니다. 왜냐하면 전체 문자열 역시도 < 문자로 시작해서 > 문자로 끝나는 것은 마찮가지니까요. 그래서 ? 문자를 추가해주는 것인데 이 문자는 최소한 적은 글자수를 만들면서 조건을 만족시키기 위해서 노력합니다. 따라서 <TAG> 와 </TAG> 가 정확하게 얻어지는 것이죠. 그리고 정규 표현식에는 정답이 없습니다. 지금 이 정규 표현식 패턴도 수 많은 가능성들 중의 하나일 뿐입니다. 예를 들어서 저는 똑같은 작업을 위해서 <[a-zA-Z\/\s][^>]*> 라는 정규 표현식 패턴을 사용하고 있습니다. 결국 보다 더 효율적인 정규 표현식을 구성하시는 것이 포인트입니다. ^_^ 2. < 를 < 로 치환하는 문제제 생각에는 이것은 게시판 편집기가 원본 코드를 자동으로 변환해버린 것입니다. ^_^ 즉 이 코드의 원본은... strOutput = Replace(strOutput, "<", "<") strOutput = Replace(strOutput, ">", ">")가 아니라... strOutput = Replace(strOutput, "<", "<") strOutput = Replace(strOutput, ">", ">")입니다. 그런데 그 글을 작성하신 분이 그냥 코드를 복사해서 붙여 넣어서 데브피아의 게시판 편집기가 자동으로 꺽쇠 문자를 변환해 버린 것이죠. 3. stripHTML = strOutput이 부분은 Function 프로시저의 결과를 리턴해주는 코드입니다. 이것은 오류가 아니라 비주얼 베이직 계열의 언어상에서 공통된 사항으로서 Function 프로시저의 결과값을 리턴해주기 위해서 함수명과 동일한 변수에 결과값을 할당해 주는 것입니다. 이에 관한 보다 자세한 내용은 관련 서적들을 참고해보시면 잘 나와있을 것입니다. ^_^ 감사합니다. |
IP 주소: 211.222.24.6
|
게시물 | ||||
---|---|---|---|---|
364 | 2004-04-30 | 5,460 | ||
2004-04-30 | 3,296 | |||
362 | 2004-04-30 | 3,713 | ||
361 | 2004-04-30 | 3,332 | ||
360 |
오마르 |
2004-04-29 | 1,036 | |
359 | 2004-04-29 | 3,038 | ||
358 |
오마르 |
2004-04-28 | 879 | |
357 | 2004-04-28 | 2,937 | ||
356 |
궁금이 |
2004-04-28 | 967 | |
355 | 2004-04-28 | 3,415 | ||
354 |
궁금이 |
2004-04-28 | 879 | |
353 |
김지영 |
2004-04-27 | 897 | |
352 | 2004-04-27 | 3,066 | ||
351 |
오마르 |
2004-04-27 | 959 | |
350 | 2004-04-27 | 3,147 | ||
349 |
오마르 |
2004-04-26 | 949 | |
348 | 2004-04-26 | 3,227 | ||
347 |
영호 |
2004-04-25 | 983 | |
346 | 2004-04-25 | 3,111 | ||
345 |
최경우 |
2004-04-24 | 995 | |
344 | 2004-04-25 | 2,978 | ||
343 |
즐거운 주말되세요~ ^^ [1] |
오마르 |
2004-04-24 | 889 |
342 |
궁금이 |
2004-04-23 | 1,021 | |
341 | 2004-04-24 | 3,515 | ||
340 |
오마르 |
2004-04-23 | 1,009 |