2013-12-11 5 views
0

У меня есть текстовый файл с этим повторяющимся данныегрупп данные из текстового файла

UPDATE TGw_WaiService 
     SET inputVarClass = 'pp.ccc.conn.service.HJ22Var' 
    where SERVICE='HJ22' 

    UPDATE TGw_WaiService 
     SET inputVarClass = 'pp.cgd.wai.service.HJA5Var' 
    where SERVICE='HJA5' 

    (...) 

Я хочу, чтобы сгруппировать всю информацию, которая находится внутри одинарных кавычек после «SERVICE» задания, в данном случае я хочу что-то вроде это

"HJ22"    
"HJA5" 

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

ответ

1

Да, это возможно с помощью Notepad ++. Перейти к Search>Replace меню (контекстное CTRL + H) и сделайте следующее:

  1. Найти:

    .+?where SERVICE='([A-Z0-9]+)' 
    
  2. Заменить:

    $1\n 
    
  3. Выберите переключатель «Регулярное выражение» а также ". спички новой строки»

  4. Затем нажмите„Заменить все“

Вы можете проверить его на regex101.

+0

Вы можете просто находку все ... Notepad ++ перечислены все матчи в аккуратной интерфейс –

+0

PERFECT, можете ли вы объяснить мне знак $ в разделе замены? и почему мы должны проверить «соответствие новой строки» – tt0686

+0

@ tt0686 a) '$ 1' - это специальная переменная, которая содержит соответствующий результат первого захвата group (мы определили группу захвата в нашем совпадающем шаблоне с круглыми скобками '([А-Z0-9] +) '). b) «. соответствует новой строке» означает, что точка '.', которая обычно соответствует любому символу, также должна соответствовать новым строкам. В нашем случае это необходимо, чтобы соответствовать всем предыдущим строкам. В качестве тестового теста удалите параметр, запустите регулярное выражение и посмотрите, что произойдет! Вы можете проверить его также в regex101, если вы удалите модификатор 's' (из' gms'). – psxls

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