하루한정 대방출 섬머세일 하루한정 대방출
---------------------
이런 글이 있을 때 < 로 시작해서 > 로 끝나는 것만 삭제하고 싶습니다. %s<.*>//g 로 했더니 첫줄 전체가 다 삭제 되는데 어떻게 하면 첫줄에서 와 만 삭제할 수 있을까요? 혹은 는 다시 처리하더라도 만 제대로 삭제할 방법은 뭘까요?
<foo> bar <baz>
이런 경우라고 가정하고 적어보겠습니다.
문제 발생 원인은, * 수량자(?)가 "greedy"하게 작동하기 때문입니다. .*을 최대한 넓게(?) 잡으려고 하기 때문에, oo> bar <baz 전체가 .*에 잡히게 되는 것입니다.
*
.*
oo> bar <baz
당장 생각나는 해결책은:
.
>
:%s/<[^>]*>//g
:%s/<.\{-}>//g
덕분에 잘 해결 했습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
<foo> bar <baz>이런 경우라고 가정하고
<foo> bar <baz>
이런 경우라고 가정하고 적어보겠습니다.
문제 발생 원인은,
*
수량자(?)가 "greedy"하게 작동하기 때문입니다..*
을 최대한 넓게(?) 잡으려고 하기 때문에,oo> bar <baz
전체가.*
에 잡히게 되는 것입니다.당장 생각나는 해결책은:
.
대신에 "닫는>
"가 아닌 모든 문자 검색:%s/<[^>]*>//g
:%s/<.\{-}>//g
감사합니다!
덕분에 잘 해결 했습니다.
댓글 달기