< swf ...> ..... </swf>가 많은 문서가 있습니다. 나는이 모든 것을 제거하고 싶다. vi를 사용할 때 입력 할 때VI에서 정규식 검색 및 바꾸기
나는 이것이 효과가 있었으면 좋겠다. 여기
< swf ...> ..... </swf>가 많은 문서가 있습니다. 나는이 모든 것을 제거하고 싶다. vi를 사용할 때 입력 할 때VI에서 정규식 검색 및 바꾸기
나는 이것이 효과가 있었으면 좋겠다. 여기
: 당신은 또한 두 행으로 분할 할 수있는 태그가있는 경우
:%s!<swf.\{-}/swf>!!
, 당신은 .
일치를 만들기 위해 \_
수정을 추가 할 수도 줄 바꿈 :
:%s!<swf\_.\{-}/swf>!!
이 당신이 태그와 당신이 바로 태그를 제거하고 내용을 유지 얻을하려는 경우가 포함 모두를 제거 할 가정
01 2,주 :
<
또는 >
s
후 넣어 첫 번째 문자를 사용합니다 : 이것은 당신의 패턴편집을 슬래시 탈출 할 필요성을 없애 : 귀하의 코멘트
을 한 후 내 대답을 확장!
대신 /
의 사용/STRING/교체가/g와 같은 내가 :set gdefault
이 있기 때문에의 끝에서 g
수정을 추가 내 .vimrc
영원히 이후\{-}
입니다 (이것은 기본적으로 빔 대신 /g
단지 첫째, 따라서 되 돌리는 의미의 라인에있는 모든 일치를 대체된다는 것을 의미합니다)가 " ungreedy "버전 인 *
한정 기호를 사용합니다. 즉, 0 이상의 이전 원자와 일치하지만 가능한 한 적은 숫자는 입니다. e - 이렇게하면 검색 패턴이 마지막 "대신 닫는 태그"로 확장되도록 할 수 있습니다.HTH
문제는 당신이 그것을 말하고있다 있도록 []
는 문자 클래스는 SWF의 여는 태그와 닫는 태그 사이의 문자 s
, w
및 f
는 순서에 상관없이 어디서나 나타나지 않을 수 있다는 것입니다.
는 대신 비 욕심 일치를 시도 할 수 : 기본적으로 줄 바꿈을 허용하지 않습니다
\<swf.\{-}\/swf\>
주 .
있다.
나는 Vim을 사용하지 않으므로이 구문을 발견하기 위해이 guide을 사용했다. 나는 그것이 옳았기를 바란다.
는 이 명령으로 버퍼의 모든 사람들을 제거 할 수 있습니다
는 치료를 작동 할 수, 당신이 감사 감사! 궁금한데,이 작업은/STRING/REPLACE/g 형식을 사용하지 않고 어떻게 작동합니까? 그리고 {-}는 무엇을 의미합니까? – ktec
내 대답이 내 댓글에 대한 세부 정보로 업데이트되었습니다. –
감사합니다. – ktec