代码之家  ›  专栏  ›  技术社区  ›  ctrlShiftBryan

Regex:Search and replace left side=到右侧

  •  2
  • ctrlShiftBryan  · 技术社区  · 16 年前

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

    换言之,我想把从左边到“=”字符的所有内容都替换为左边的匹配项。我们可以假设每行末尾都有一个换行符。

    我的“查找内容”和“替换为”值是什么(我正在使用记事本++)

    2 回复  |  直到 16 年前
        1
  •  2
  •   tiftik    16 年前

    Notepad++使用ERE(扩展正则表达式)。这是我将使用的正则表达式:

    查找: ^([^\]]*]) = .*

    \1 = \1

        2
  •  0
  •   mtmk    16 年前

    vim :

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

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