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

RegEx在Sublime文本中查找和替换

  •  1
  • pnavk  · 技术社区  · 12 年前

    所以我有一个包含以下类型行的大文件:

    public static string SyncButton = StringsProxy.GetStringByKey ("SyncButton") ?? "SYNC";
    

    我需要用以下版本替换

    public static string SyncButton { 
    get { 
        if (_SyncButton == null) { 
            _SyncButton = StringsProxy.GetStringByKey ("SyncButton") ?? "SYNC"; 
        }
        return _SyncButton;
    }
    set { 
        _SyncButton = value;
    }
    }
    

    有人可以帮助构造一个正则表达式,这样可以进行查找和替换吗?

    2 回复  |  直到 12 年前
        1
  •  1
  •   alex.b    12 年前

    将此内容替换为正则表达式:

    public static string (.+?) = StringsProxy.GetStringByKey \("(.+?)"\) \?\? "(.+?)";
    

    用这个:

      public static string \1 { 
    get { 
        if (_\1 == null) { 
            _\1 = StringsProxy.GetStringByKey ("\1") ?? "\3"; 
        }
        return _\1;
    }
    set { 
        _\1 = value;
    }
    }
    

    例子:

    example !

        2
  •  1
  •   spreelanka    12 年前

    试试这个

    查找内容:

    public static string ([^= ]*) (= StringsProxy\.GetStringByKey \("SyncButton"\) \?\? "SYNC";)
    

    替换为:

    public static string \1 { 
    get { 
        if (_\1 == null) { 
            _\1 = \2
        }
        return _\1;
    }
    set { 
        _\1 = value;
    }
    }