LibreOffice Writer의 정규식 - 한 가지를 제외한 "모든 것" 찾기

LibreOffice Writer의 정규식 - 한 가지를 제외한 "모든 것" 찾기

텍스트(html 코드)가 있고 <p>클래스, ID, 스타일(있는 경우) 등이 포함된 태그를 찾아야 합니다. 다음 정규식을 사용하여 이 작업을 수행합니다. <p(.*?)>또는(<p([^>]+))>

내 텍스트의 패턴은 다음과 같습니다.

<p class="navi_buttons">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>

<p class="reg">Aliquam mi sapien, rutrum eget sem vel, semper efficitur.<a href="xyz.html" class="topiclink">vitae velit</a></p>

<p class="THIS_SHOULD_BE_AVOIDED">Donec fringilla sapien vitae interdum volutpat.</p>

<p class="nav">Cras nec orci non dolor ultrices luctus sit amet vitae velit.</p>

문제는 특정 클래스 하나를 제외한 모든 태그를 찾아야 한다는 것입니다 <p>(즉, 이 클래스의 단락을 피하고 싶습니다). 개별 문자 집합이 아닌 문자열로 처리되는 제외를 작성하는 방법을 모르겠습니다. 도와주시면 감사하겠습니다. 감사합니다.

답변1

나는 정규식을 계산하기보다는 속이려고 합니다.

변경하지 않으려는 태그를 검색하고 고유한 문자열로 바꿉니다.

Search: "<p class="nav">"  Replace: "***xxxxxx***"

그런 다음 다른 모든 태그에 대해 작업을 수행 <p>하고 원래 변경 사항을 되돌립니다.

Search: "***xxxxxx***"  Replace: "<p class="nav">"

답변2

문제가 해결된 것 같습니다. LibreOffice 전용 포럼에도 질문했고 답변을 받았습니다.

<p (?!.*EXCLUDING_PATTERN.*)(.*?)>예:<p (?!.*"THIS.*)(.*?)>

적어도 내 경우에는 작동합니다.

관련 정보