유사한 게시물을 많이 찾았지만 그 중 내 질문에 대한 답변은 없습니다. 열기 태그와 닫기 태그를 특정 키워드로 교체/제거/변경하고 싶습니다. 이 경우에는 href="#"이 포함된 모든 태그를 제거하려고 합니다....
<a href="#">leave this text</a>
<a class="" id="" href="#">leave this text too</a>
<a href="http://......">Dont remove this tag!</a>
이 코드가 있는데 텍스트를 남기는 방법을 모르겠습니다...
find: <a[^h]*href="#"[^>]*> (skip content) </a>
replace: (same content)
or
replace: <a href="somthing"> (same content) </a>
답변1
다음을 포함하는 모든 태그를 제거하려고 합니다.href="#"
메뉴 "검색" > "바꾸기" (또는 Ctrl+ H)
"찾을 내용"을 다음으로 설정하세요.
<a .*?href="#">(.*?)</a>
"바꾸기"를 다음으로 설정하세요.
\1
"정규식" 활성화
"모두 바꾸기"를 클릭하세요
전에:
<a href="#">leave this text</a>
<a class="" id="" href="#">leave this text too</a>
<a href="http://......">Dont remove this tag!</a>
후에:
leave this text
leave this text too
<a href="http://......">Dont remove this tag!</a>
가 지적한 바와 같이AFH주석에는 샘플 데이터에 포함되지 않은 표현식을 포착하는 더 나은 정규 표현식이 있습니다.
"찾을 내용"을 다음으로 설정하세요.
<a .*?href="#" .*?>(.*?)</a>
이는 절이 있는 줄과 일치합니다.~ 후에(
href="#"
그리고 첫 번째 일치 이전>
).메모:
>
후속 절의 값 필드에 s가 있는 경우(>
일치 전<a
) 올바르게 작동하지 않습니다.
추가 읽기
답변2
답변을 보내주신 David에게 감사드립니다! 그러나 실제로 코드: <a .*?href="#">(.*?)</a>
내 파일에서 어떤 속성도 찾지 못했습니다. 다른 구성이나 다른 버전의 notepad++ 때문일 수 있습니다. 다음 코드를 사용해야 했습니다.
Find: <a[^h]*href="#"[^>]*>(.*?)</a>
Replace: <a href="new_url">\1</a>