Я ищу регулярное выражение, которое должно обнаружить полный блок <IMG ... random Parameter > в большом документе, пока ". Опция «Соответствует новой строке» активируется в функции «Найти / Заменить».

Пример:

Я ищу блок <IMG ... > , содержащий Goal.gif . Я сейчас пользуюсь

(<img.+Goal.gif".+>)

но с этим выражением оно соответствует всему блоку. Моя идея состоит в том, чтобы проверить следующий IMG-тег как отрицание, но я не знаю, как разработать такое утверждение.

<IMG id=NoPrint border=0 hspace=0 alt="" src="Directory\Tastatur.gif" align=baseline>
<IMG id=NoPrint border=0 hspace=0 alt="" src="Directory\Tastatur.gif" align=baseline>
<IMG id=NoPrint border=0 hspace=0 alt="" src="Directory\Goal.gif" align=baseline>

Какое регулярное выражение я могу использовать, чтобы соответствовать только тегу img, который включает Goal.gif?

1 ответ1

1

Вот один из них, который я протестировал на ваших примерах данных в Notepad++.

<img[^>]+goal\.gif.*?>

[^>]+ Работает как .+ Но не будет соответствовать никаким выражениям, включая > . Это гарантирует, что <img и goal.gif находятся в одном теге.

gif.*? делает совпадение не жадным, поэтому оно достигнет только первого экземпляра > следующего gif .

Я проверил это на примере новой строки между началом тега и атрибутом src , и он все еще работал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .