Регулярное выражение: поиск и замена левой стороны = правой стороне

Как мне использовать регулярные выражения и поиск и замену, чтобы превратить это

[UserID] = <UserID, int,>
[UserID] = 123123
[UserID] = asd123123

into 
[UserID] = [UserID]
[UserID] = [UserID]
[UserID] = [UserID]

Другими словами, я хочу взять все с левой стороны строки до символа «=» и заменить все справа от «=» совпадением с левой стороны. Мы можем предположить разрыв строки в конце каждой строки.

Каковы мои значения «Найти что:» и «Заменить на:»? (Я использую Блокнот++)


person ctrlShiftBryan    schedule 08.03.2010    source источник


Ответы (2)


Notepad++ использует ERE (расширенные регулярные выражения). Это регулярное выражение, которое я бы использовал:

Найти: ^([^\]]*]) = .*

Заменить на: \1 = \1

person tiftik    schedule 08.03.2010

Вот как я бы сделал это в vim:

:%s/\[\(\w\+\)\]\s\+=\s\+.*$/[\1] = [\1]/

Другие могут быть его вариациями, длинными строками:

search  : \[(\w+)\]\s+=\s+.*$
replace : [$1] = [$1]
person ziya    schedule 08.03.2010