如何在javascript中使用正则表达式设置文本格式?

巴特洛玛

我有一个大括号中包含格式字符的文本。

let str = "My name is {name} and age is {age}!";

我想使用对象属性更改它。

var myobj = { name: "x", age: "25" }

结果文本应为 "My name is x and age is 25!"

我可以使用正则表达式获取名称和年龄值。

let regex = /\{([^}]+)\}/g;
let matches = str.match(regex).map(x => x.replace(/[{}]/g, ""));

matches 是数组 ["name", "age"]

但是,如何使用正则表达式替换为对象属性?可能是很短的路吗?

维克多·史翠比维

您可以使用.replacemethod并使用myobj当前正则表达式已经捕获到组1中的键中获取值

let str = "My name is {name} and age is {age} {x}! {missing from myobj}";
var myobj = { name: "x", age: "25", x: ""}
let regex = /{([^{}]+)}/g;
console.log( str.replace(regex, (x,y) => myobj[y] !== undefined ? myobj[y] : x) );
// or a bit more modern variation
console.log( str.replace(regex, (x,y) => myobj[y] ?? x) );

如果存在捕获的键(myobj[y] ??),则将返回相应的值。如果在中没有找到带有正则表达式的键myobj,则将返回整个匹配项(x)。如果找不到键,则需要返回不带花括号的值,请使用y代替x此处。

无需转义{}出现在模式中,因为它们不能被解析为限制量词(在这种情况下,JavaScript RegExp引擎会进行一些“智能”解析)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用正则表达式设置文本格式?

来自分类Dev

Javascript正则表达式将文本格式设置为数千个(包括小数)

来自分类Dev

如何在Javascript onclick事件中使用正则表达式测试ID(以HTML格式)?

来自分类Dev

通过正则表达式设置带脚注的文本格式

来自分类Dev

通过正则表达式设置带脚注的文本格式

来自分类Dev

如何在JavaScript中使用正则表达式替换部分文本?

来自分类Dev

如何在Notepad ++中使用正则表达式重新格式化以下文本?

来自分类Dev

如何在R中使用正则表达式转换日期格式?

来自分类Dev

如何在Realm中使用正则表达式

来自分类Dev

如何在Java的正则表达式中使用OR?

来自分类Dev

如何在angularjs中使用正则表达式

来自分类Dev

如何在正则表达式中使用Unicode

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在SMLNJ中使用正则表达式

来自分类Dev

如何在熊猫中使用正则表达式?

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在php中使用正则表达式?

来自分类Dev

如何在正则表达式中使用加号

来自分类Dev

如何在iptables中使用正则表达式

来自分类Dev

如何在正则表达式函数中使用

来自分类Dev

如何在正则表达式中使用“[”和“]”

来自分类Dev

如何在python中使用正则表达式?

来自分类Dev

如何在Perl中使用正则表达式来处理文本

来自分类Dev

如何在python中使用正则表达式提取以“ ----”分隔的文本的特殊部分?

来自分类Dev

如何在PHP中使用正则表达式从简单括号中删除文本?

来自分类Dev

如何在 Java 中使用正则表达式分隔文本?

来自分类Dev

如何在 PHP 中使用正则表达式解析输入文本

来自分类Dev

如何在 Python 中使用正则表达式搜索来搜索文本块?

来自分类Dev

Java中用于HTML文本格式的正则表达式

Related 相关文章

  1. 1

    如何使用正则表达式设置文本格式?

  2. 2

    Javascript正则表达式将文本格式设置为数千个(包括小数)

  3. 3

    如何在Javascript onclick事件中使用正则表达式测试ID(以HTML格式)?

  4. 4

    通过正则表达式设置带脚注的文本格式

  5. 5

    通过正则表达式设置带脚注的文本格式

  6. 6

    如何在JavaScript中使用正则表达式替换部分文本?

  7. 7

    如何在Notepad ++中使用正则表达式重新格式化以下文本?

  8. 8

    如何在R中使用正则表达式转换日期格式?

  9. 9

    如何在Realm中使用正则表达式

  10. 10

    如何在Java的正则表达式中使用OR?

  11. 11

    如何在angularjs中使用正则表达式

  12. 12

    如何在正则表达式中使用Unicode

  13. 13

    如何在yii中使用正则表达式

  14. 14

    如何在SMLNJ中使用正则表达式

  15. 15

    如何在熊猫中使用正则表达式?

  16. 16

    如何在yii中使用正则表达式

  17. 17

    如何在php中使用正则表达式?

  18. 18

    如何在正则表达式中使用加号

  19. 19

    如何在iptables中使用正则表达式

  20. 20

    如何在正则表达式函数中使用

  21. 21

    如何在正则表达式中使用“[”和“]”

  22. 22

    如何在python中使用正则表达式?

  23. 23

    如何在Perl中使用正则表达式来处理文本

  24. 24

    如何在python中使用正则表达式提取以“ ----”分隔的文本的特殊部分?

  25. 25

    如何在PHP中使用正则表达式从简单括号中删除文本?

  26. 26

    如何在 Java 中使用正则表达式分隔文本?

  27. 27

    如何在 PHP 中使用正则表达式解析输入文本

  28. 28

    如何在 Python 中使用正则表达式搜索来搜索文本块?

  29. 29

    Java中用于HTML文本格式的正则表达式

热门标签

归档