代码之家  ›  专栏  ›  技术社区  ›  Daniel Sloof

Javascript替换在应该[重复]时不起作用

  •  0
  • Daniel Sloof  · 技术社区  · 17 年前
    var src = "http://blah.com/SOMETHING.jpg";
    src.replace(/.*([A-Z])\.jpg$/g, "X");
    

    http://blah.com/SOMETHINX.jpg

    如果我对同一个正则表达式使用match(),则表示它匹配。Regex Coach还显示字符“G”上的匹配。

    3 回复  |  直到 17 年前
        1
  •  4
  •   T.J. Crowder    17 年前

    尝试

    src = src.replace(/.*([A-Z])\.jpg$/g, "X");
    

    String#replace不是一个mutator方法;它返回一个经过修改的新字符串。

    src 变成简单的“X”。

        2
  •  1
  •   Jimmy Stenke    17 年前

    replace函数不会改变src。

    src = src.replace(/.*([A-Z])\.jpg$/g, "X");
    
        3
  •  1
  •   Igor ostrovsky    17 年前

    src.replace将替换整个匹配” http://blah.com/SOMETHING.jpg “,而不仅仅是您用括号捕获的部分。