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

至少对我来说,它是有效的。

相关内容