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

javascript正则表达式向后查找以替换字符

  •  0
  • CheeseFlavored  · 技术社区  · 7 年前

    hs2^Ȁ_^HELLO_x_fs2^Ȁ_^WORLD_x_gn3^Ȁ_^HOME_x_gs3^Ȁ…

    我需要换一个。十六进制字符被反复使用 Ȁ 而且总是有一个 ^ 在它前面。我需要更改出现在每个 ^Ȁ

    hs1^Ȁ_^HELLO_x_fs1^Ȁ_^WORLD_x_gn2^Ȁ_^HOME_x_gs2^Ȁ…

    我这里只处理两个数字,2或3,所以代码应该是这样的

    If (any number directly before ^Ȁ ==2) change it to 1 else if (any number directly before ^Ȁ ==3) change it to 2

    1 回复  |  直到 7 年前
        1
  •  2
  •   blex    7 年前

    你可以用 replace

    var str = "hs2^Ȁ_^HELLO_x_fs2^Ȁ_^WORLD_x_gn3^Ȁ_^HOME_x_gs3^Ȁ";
    var res = str.replace(/\d(?=\^Ȁ)/g, num => --num);
    
    console.log(res);

    (?=...) . 正如@revo所建议的那样,这是一个积极的前瞻。它允许您匹配 ^Ȁ \d )将被通过,从而被替换。