Удалить строки с одинаковым расширением внутри каждого тега <title> - Регулярное выражение
Я создаю список отчетов с Winrar.
Внутри этого списка у меня есть такой текстовый список
<tag>Adventures of Shuggy</tag>
!Shuggy.png
!Sound Bank.txt
4.lwav
5.lwav
6.lwav
88.lwav
89.lwav
<tag>Adventures of Jack</tag>
90.lwav
91.lwav
92.lwav
93.lwav
!Sound Bank.xsb
Я хочу удалить дубликаты расширений внутри каждого тега и иметь такой текст:
<tag>Adventures of Shuggy</tag>
!Shuggy.png
!Sound Bank.txt
4.lwav
<tag>Adventures of Jack</tag>
90.lwav
!Sound Bank.xsb
или даже лучше
<tag>Adventures of Shuggy</tag>
.png
.txt
.lwav
<tag>Adventures of Jack</tag>
.xsb
Есть ли регулярное выражение для использования в notepad++ для удаления строк с одинаковым .txt или идентичным .lwav внутри каждого тега, например <title>
?
Могу ли я использовать Excel для этого?
1 ответ
Решение
Бросил это очень быстро. Должен нормально работать в блокноте ++. Обязательно установите глобальный флаг (если он есть) и многострочный.
/^.+(\.[^.]+)$(?=\s*(?:(?!<tag>)[^.])+\1)|^(?!<tag>)[^.]+/gm
Вы не должны (скорее всего) использовать флаги и разделители, как у меня выше. Я уверен, что вы поймете это.
Объяснение + демо: http://regex101.com/r/lC0lD1