Я делаю проект в универе, где мне нужно очистить некоторый HTML-код с помощью регулярных выражений (я знаю, не лучший подход ...)
Ввод тела:
<h1>This is heading 1</h1>
<h2 style="color: aqua">This is heading 2</h2>
<h3>This is heading 3</h3>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<a href="https://www.w3schools.com">This is a link</a>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
Я получил список разрешенных тегов, и мне нужно удалить также все остальные теги с их содержимым.например {h3, p, ul}
Сначала я удаляю все параметры (они не разрешены), затем я придумал это регулярное выражение, которое удаляет теги и контент.
String regex = "(?i)<([h3|ul|p]+)>\\n?.*\\n?<\\/\\1>";
Это работает, но теперьЯ должен отрицать это и удалить все теги и контент, кроме тех, которые приведены в ...
Я пробовал это, но не работает:
`...[?!h3|ul|p]...`
Желаемый результат для этого примера:
<h3>This is heading 3</h3>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<ul>
</ul>
Не совсем понимаю Negative Lookahead и как применить его к моей проблеме, поэтому буду благодарен за любой совет.