正则表达式(或不)用动态变量替换所有匹配项

约翰

假设我从用户输入中获取了以下字符串:

The @@firstvar@@ went to the @@secondvar@@ with the @@thirdvar@@.

其中值“firstvar”、“secondvar”和“thirdvar”也都来自用户输入,因此它们在运行时之前是未知的。

有没有办法用相应的缓存变量替换“@@”组之间的所有匹配项?

例如说我缓存了这些值:

cache[firstvar] = "dog"
cache[secondvar] = "river"
cache[thirdvar] = "cat"

我希望最终的输出字符串是:

The dog went to the river with the cat. 

我试过正则表达式替换,但无法弄清楚替换何时是动态的。

3limin4t0r

您可以通过使用函数作为 中的第二个参数来替换它们String.prototype.replace()

const cache = { firstvar: "dog", secondvar: "river", thirdvar: "cat" },
      text = "The @@firstvar@@ went to the @@secondvar@@ with the @@thirdvar@@.",
      regex = /@@(.*?)@@/g;

console.log( text.replace(regex, (_match, group1) => cache[group1]) );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用bash中的环境变量替换所有字符串正则表达式匹配项

来自分类Dev

正则表达式将匹配项中的所有匹配项替换x次

来自分类Dev

正则表达式子方法不会替换python正则表达式中的所有匹配项

来自分类Dev

正则表达式在最后修复一个(所有匹配项或不匹配)

来自分类Dev

需要了解为什么正则表达式不能替换所有匹配项

来自分类Dev

正则表达式替换html标记中的所有匹配项

来自分类Dev

正则表达式根据模式替换所有匹配项

来自分类Dev

生成正则表达式的所有匹配项

来自分类Dev

查找所有正则表达式匹配项

来自分类Dev

正则表达式返回所有匹配项

来自分类Dev

查找所有正则表达式匹配项

来自分类Dev

替换所有与正则表达式匹配的事件

来自分类Dev

正则表达式不返回javascript中的所有匹配项

来自分类Dev

正则表达式替换-匹配并清空所有不包含特定字符的行

来自分类Dev

正则表达式替换-匹配并清空所有不包含特定字符的行

来自分类Dev

正则表达式用***替换所有密码

来自分类Dev

TextWrangler中的正则表达式/ grep替换,用指定的文本替换后续的匹配项

来自分类Dev

具有动态变量的正则表达式不起作用

来自分类Dev

在Groovy中使用正则表达式替换字符串中的所有匹配项

来自分类Dev

Python-正则表达式查找字符串中的所有匹配项并替换

来自分类Dev

如果字符串与正则表达式匹配,则替换,如果不匹配则添加变量

来自分类Dev

Objective-C中的正则表达式:如何用动态模板替换匹配项?

来自分类Dev

用正则表达式替换匹配项中的子字符串

来自分类Dev

用属性字符串和文本替换正则表达式匹配项

来自分类Dev

用 sed 替换正则表达式的第 N 个匹配项

来自分类Dev

正则表达式替换-删除不匹配的值

来自分类Dev

替换与特定正则表达式不匹配的字符

来自分类Dev

正则表达式替换不匹配

来自分类Dev

Java正则表达式匹配器未找到所有可能的匹配项

Related 相关文章

  1. 1

    用bash中的环境变量替换所有字符串正则表达式匹配项

  2. 2

    正则表达式将匹配项中的所有匹配项替换x次

  3. 3

    正则表达式子方法不会替换python正则表达式中的所有匹配项

  4. 4

    正则表达式在最后修复一个(所有匹配项或不匹配)

  5. 5

    需要了解为什么正则表达式不能替换所有匹配项

  6. 6

    正则表达式替换html标记中的所有匹配项

  7. 7

    正则表达式根据模式替换所有匹配项

  8. 8

    生成正则表达式的所有匹配项

  9. 9

    查找所有正则表达式匹配项

  10. 10

    正则表达式返回所有匹配项

  11. 11

    查找所有正则表达式匹配项

  12. 12

    替换所有与正则表达式匹配的事件

  13. 13

    正则表达式不返回javascript中的所有匹配项

  14. 14

    正则表达式替换-匹配并清空所有不包含特定字符的行

  15. 15

    正则表达式替换-匹配并清空所有不包含特定字符的行

  16. 16

    正则表达式用***替换所有密码

  17. 17

    TextWrangler中的正则表达式/ grep替换,用指定的文本替换后续的匹配项

  18. 18

    具有动态变量的正则表达式不起作用

  19. 19

    在Groovy中使用正则表达式替换字符串中的所有匹配项

  20. 20

    Python-正则表达式查找字符串中的所有匹配项并替换

  21. 21

    如果字符串与正则表达式匹配,则替换,如果不匹配则添加变量

  22. 22

    Objective-C中的正则表达式:如何用动态模板替换匹配项?

  23. 23

    用正则表达式替换匹配项中的子字符串

  24. 24

    用属性字符串和文本替换正则表达式匹配项

  25. 25

    用 sed 替换正则表达式的第 N 个匹配项

  26. 26

    正则表达式替换-删除不匹配的值

  27. 27

    替换与特定正则表达式不匹配的字符

  28. 28

    正则表达式替换不匹配

  29. 29

    Java正则表达式匹配器未找到所有可能的匹配项

热门标签

归档