代码之家  ›  专栏  ›  技术社区  ›  Dónal

JavaScript字符串.replace()

  •  3
  • Dónal  · 技术社区  · 14 年前

    以下替换

    "index.html".replace('\.html$', '_fr.html');
    

    返回“index.html”,表示第一个参数与任何内容都不匹配。但是,如果删除“$”

    "index.html".replace('\.html', '_fr.html');
    

    然后第一个参数匹配并返回“index_fr.html”。

    回到第一个例子,有人能解释为什么“.html$”似乎与“index.html”不匹配吗?

    1 回复  |  直到 13 年前
        1
  •  5
  •   Skilldrick    14 年前

    因为这不是正则表达式-JavaScript中的正则表达式文字看起来像:

    /\.html$/
    

    没有引号。replace接受字符串或正则表达式文本。