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.*)(.*?)>

它有效,至少對我來說是這樣。

相關內容