2013-06-10 4 views
2

Я хочу использовать регулярное выражение для добавления в строку на основе содержимого строк.добавить в строку на основе содержимого строк

линия выглядит следующим образом:

decode((SOMETHING_UNIQUE,'','','') OBJECT 

и я хочу, чтобы это выглядело как это

decode((SOMETHING_UNIQUE,'','','') OBJECT,decode((SOMETHING_UNIQUE,'','','') SUMMARY 

Так что я попробовал это, но это действительно работает:

FIND: decode((\w+),'','','') OBJECT 
REPLACE: decode((\1,'','','') OBJECT,decode((\1,'','','') SUMMARY 

ответ

1

Я вижу пара вопросов.

  1. Вам нужно бежать ваши ( и ) символы, прямые текстуальные совпадения.

    decode\((\w+),'','',''\) OBJECT

  2. В вашей замены, вы добавляете дополнительный ( до шаблона вы сопрягая.

    Это должно быть decode(\1, вместо decode((\1,

С моих тестов я должен был использовать $1 вместо \1, но это только из-за регулярных выражений.

Test Link

+0

Вы пытались найти 'расшифровывает \ ((\ W +), '', '', '' \) OBJECT'? –

+0

Да, я так и не смог его найти. PS После двух расшифровки есть \, но он не отображается в приведенном выше комментарии – user2367789

+0

NVM, ЭТО РАБОТАЕТ СПАСИБО ВАС! – user2367789