Мне нужно сопоставить элементы <output_channels>
, которые не содержат фразу "История" между открывающими <output_channels>
и закрывающими </output_channels>
тегами.<output_channels>
элементы никогда не являются вложенными, поэтому я думаю, что я смогу сделать это с помощью регулярных выражений - пожалуйста, не отвечайте, что это невозможно, если это не так!
Вот пример текста, которым я будупоиск с использованием perl или vim (мне проще тестировать регулярные выражения в vim):
<output_channels>
<output_channel>RSS</output_channel>
<output_channel>Story</output_channel>
</output_channels>
<output_channels>
<output_channel>RSS</output_channel>
</output_channels>
Я думаю, мне нужно выполнить что-то вроде следующего, но это соответствует обоим <output_channels>
блокам:
<output_channels>.*?((?!Story).)*?<\/output_channels>