2016-05-03 7 views
0

У меня есть список, как это в Notepad ++Regex удалить подобные слова по шаблону

V - Visitors 2009 - S01e11-12.torrent 
V - Visitors (2009) S02e04.torrent 
V - Visitors (2009) S01e01-12.torrent 
V S02e02.torrent 
V S02e05.torrent 
Valentina S01e01-13.torrent 
Valeria Medico Legale S01-02e01-16.torrent 
Veep - Season 1 BDMux.torrent 
Veep - Season 2 BDMux.torrent 
Veep - Season 3.torrent 
Veep - Season 4.torrent 
Vegas S01e01-21.torrent 
Velvet S01e13.torrent 
Velvet S01e15.torrent 
Vikings.S03E03.torrent 
Vikings.S03E04.torrent 
Vikings.S03E05.torrent 
Velvet_S03e02.torrent 
Velvet_S03e03.torrent 
Velvet_S03e04.torrent 

Я хочу, чтобы регулярное выражение, чтобы удалить повторил первый-второй слова линии (Вип - Вип), чтобы иметь окончательный список, как этот

V - Visitors 2009 - S01e11-12.torrent 
V S02e02.torrent 
Valentina S01e01-13.torrent 
Valeria Medico Legale S01-02e01-16.torrent 
Veep - Season 1 BDMux.torrent 
Vegas S01e01-21.torrent 
Velvet S01e13.torrent 

Так что, если я

Veep - Season 1 BDMux.torrent 
Veep - Season 2 BDMux.torrent 

Я хочу только первую строку

Veep - Season 1 BDMux.torrent 

ответ

0

ли регулярное выражение поиска/замены, как это:

  • Открыть Заменить Dialog
  • Найти Что:^([^ _.-]+[ _.-]+([^ _.-]++)?)(.*?\R)(\1.*?\R)+
  • Заменить:\1\3
  • проверки регулярное выражение
  • нажмите кнопку Заменить или Заменить все

Объяснение

  • предварительным условием является то, что файл сортируется
  • первой части ^([^ _.-]+[ _.-]+([^ _.-]++)?) сделок с получением первого слова на линии, а затем сепаратор "", "_", "." или "-".
    • первого слово все, что не сепаратор
    • второго слово (([^ _.-]++)?) не является обязательным для размещения для бархата например
    • в связи с использованием круглых скобок первого слова, разделителя и дополнительным вторым слова захватываются в \1 и что следует до и включая перевод строки cptured в \3 для последующего повторного использования
  • (.*?\R) захватывает все до LineBreak (\R
  • последний parrt (\1.*?\R)+ матчи все последующие строки, начинающиеся с тем, что захватывается в \1
  • матча охватывает все линии, они заменяют \1\3 и реконструирует только первую строку, тем самым исключив следующую строку
+0

спасибо, но я обновляю список, потому что видел, что регулярное выражение не работает для слов типа velvet_xx или Vikings.S03. Можете ли вы добавить также слова, за которыми следуют знаки '_' (подчеркивание) и' .' (точка)? –

+0

@SuperSonic Я обновил три списка разделителей. –

+0

спасибо, теперь все в порядке –

Смежные вопросы