У меня есть простой текстовый файл что-то вроде этого:Regular Expression Fill-Down
Ford\tTaurus
F-150
F-250
Toyota\tCamry
Corsica
Другими словами, иерархия двухуровневую, где первый ребенок находится на той же линии, что и родитель, но последующие дети на строках, отличных от родительского с двухпроводным префиксом (\t
выше представляет собой буквальную вкладку в тексте).
Мне нужно преобразовать это с помощью регулярных выражений:
Ford\tTaurus
Ford\tF-150
Ford\tF-250
Toyota\tCamry
Toyota\tCorsica
Итак, мне нужно, чтобы захватить родителя (текст между \ г \ п и \ т не начиная с \ s \ s), и применить это в середине любого \r\n\s\s
, найденного до следующего родителя.
У меня такое чувство, что это может быть сделано с помощью каких-то вложенных групп, но я думаю, что мне нужно больше кофеина или что-то в этом роде, похоже, не может выработать шаблон.
(Использование .NET с IgnoreWhitespace выкл и Multiline выкл)
Спасибо Jon ... У меня есть приложение для интрасети, которое сглаживает текст из разных источников данных, применяя замены RegEx, вытащенные из таблицы базы данных, основанные на исходном источнике. Это позволяет мне обрабатывать неактивные данные из десятков источников без перекомпиляции. У приложения есть возможность вызывать пользовательские функции, но я не использую эту функциональность там, где это возможно. Похоже, у меня может быть без выбора. – richardtallent
@richardtallent: Ну, возможно, это возможно - но он чувствует себя намного проще для меня без продолжения ревкого вуду :) –