Notepad++ Regex를 사용하여 앵커 제거

Notepad++ Regex를 사용하여 앵커 제거

나는 이것에 대한 다른 답변을 보려고 노력했고 Regex에서 무엇이든 읽으려고 할 때 내 두뇌가 폭발합니다. 몇 번이나 읽어도 이해할 수 없습니다.

Notepad++를 사용하여 파일에서 이 항목을 제거하려고 합니다.

<a style="text-decoration:none" href="/SOME RANDOM WORD">.</a>

하지만 이 작업을 수행하기 위해 Notepad++에서 어떤 정규식 검색 문자열을 사용해야 하는지 잘 모르겠습니다. SOME RANDOM WORD가 있는 경우 문자 그대로 어떤 길이라도 될 수 있지만 해당 태그/페이지의 시작과 닫기는 동일합니다.

다음 인스턴스를 제거하고 싶습니다.

<a style="text-decoration:none" href="/SOME RANDOM WORD">.</a>

그리고 그것을 아무것도 아닌 것으로 바꾸십시오.

답변1

찾을 내용 줄에 다음을 입력합니다.

<a style="text-decoration:none" href=".+">\.</a>

다음으로 바꾸기: 비워 둡니다.

그런 다음 모두 바꾸기를 누르세요.

여기서 핵심은 .+무엇이든 하나 이상의 문자를 찾는다는 의미를 사용하는 것입니다. 이는 기본적으로 텍스트가 동일하지만 URL이 있는 모든 URL을 찾아 교체한다는 의미입니다. 아무것도 없이. URL이나 다른 항목을 필터링하는 것이 가능하지만 게시물에서 전체 문자열을 아무것도 바꾸지 않겠다고 지정한 경우 더 이상 혼란을 주지 않기 위해 이 정보는 제공되지 않았습니다.

하단에서 정규 표현식을 선택했는지 확인하세요. 하지만 이미 그 점을 생각하신 것 같습니다.

또한 와 같은 특수 문자를 이스케이프해야 합니다. 링크에 .이 아닌 실제 텍스트가 있는 경우 해당 텍스트도 . \.으로 바꿔야 합니다 .+.

답변2

제가 다른 답변을 제출하는 이유는 승인된 답변을 훼손하고 싶어서가 아니라 귀하의 검색 표현이 거의 옳았기 때문입니다.

혼동되는 점은 파일 마스크에서 *임의의 길이(0 포함)의 임의 문자열을 의미하는 반면, 정규식에서는 이전 패턴이 여러 번 나타나는 것을 의미한다는 것입니다. 따라서 귀하가 요청한 것은 절의 따옴표 사이에 슬래시만 포함하는 문자열이었습니다 href=.

필요한 것은 검색 표현식에 있었으며 이는 단일 문자와 일치하는 파일 마스크와 가 사용되는 정규 표현식 href="/.*"간의 다른 큰 차이점을 사용하여 임의의 문자 수를 제공합니다.?..*

의 다른 사용법은 .검색 >.</a>표현식의 끝에서 >및 사이의 모든 문자가 </a>일치한다는 것을 의미합니다. 리터럴만 일치시키려면 .리터럴과 일치시키려는 검색 표현식을 알려야 하며 ., 이를 선행하여 수행합니다. 소위 .말하는탈출하다성격 \. 따라서 \.리터럴과 일치 .하고 \*리터럴과 일치합니다 *.

정규 표현식이 파일 마스크와 동일한 일치 항목을 사용했다면 검색 문자열이 완벽하게 작동했을 것입니다. 그러나 불행히도 그렇지 않습니다. 필요한 것은 다음과 같습니다.

<a style="text-decoration:none" href="/.*">\.</a>

보시다시피 두 개의 추가 (그러나 중요한) 문자만 사용하여 시도한 것과 거의 다르지만 제 설명이 여러분에게 해당 문자를 더 추구할 수 있는 자신감을 줄 수 있기를 바랍니다. 다시 필요할 것입니다.

나는 그것이 금지되어 있다는 것을 부인할 수 없으며, 비록 당신이 찾을 수 있을지라도 쉬운 길을 추천할 수 없습니다.이 테스터/유용합니다( 이스케이프 문자 앞에 와야 하는 특수 문자로 처리되지만 \일부 상황에서는 처리되지만 사용자의 상황에서는 그렇지 않으므로 검색 표현식에서 시도하는 경우 이를 허용하십시오).

표현이 엉망인 것 같다고 해서 미루지 마세요. 저는 수년 동안 그것들을 사용해 왔지만 여전히 저를 넘어서는 것이 많습니다. 특히 3의 배수인 이진수에 대한 검사는 더욱 그렇습니다.위키피디아 페이지- 설명을 찾았지만 수학 학위가 있어도 표현을 자세히 이해할 수 없습니다.

파일 마스크를 이해하고 정규식에 필요한 간단한 수정을 사용하여 시작점을 마련했습니다.

관련 정보