gpt4 book ai didi

javascript - 如何使用正则表达式在 JavaScript 中使用插入和替换

转载 作者:行者123 更新时间:2023-11-30 20:01:27 28 4
gpt4 key购买 nike

我正在努力学习在替换函数中使用 $$、$&、$`、$'、$n。我正在寻找这样的例子:

var re = /(\w+)\s(\w+)/;
var str = "mango apple banana orange";
var newstr = str.replace(re, "$2 $1");
console.log(newstr);//outputs apple mango banana orange, (how does it do this?)
任何人都可以为我提供一些示例和解释来说明它们的使用吗?我发现了他们 here并试图理解。非常感谢。

最佳答案

对于您的问题,这似乎是“hacking”。但既然你只想知道它是如何工作的,我认为这仍然是一个很好的做法:

var re = /(\w+)\s(\w+)\s(\w+)\s(\w+)/;
var str = "mango apple banana orange";
var newstr = str.replace(re, "$2 $1 $3 $4");
console.log(newstr);//outputs apple mango banana orange, (how does it do this?)

  • \w : 匹配字母字符和数字(a-z、A-Z 和 0-9)。

  • \w+ : 与此模式匹配一​​次或多次。

  • (\w+) : 将此图案包裹在一个组中。

  • \s : 匹配空格

第一个模式(\w+)火柴mango , 第二个模式匹配 apple , 和其他人一样...

然后,在输出中,如果你想使用每个组内的匹配结果,你可以使用:

"$2 $1 $3 $4"
  • $2 : 打印第2组的匹配结果

  • $1 : 打印第1组的匹配结果

  • $3 : 打印第3组的匹配结果

  • $4 : 打印第4组的匹配结果


$$用于插入 $结果的字符:

console.log('abc'.replace(/(a)(b)(c)/, '$1 $$ $2'));

在这个例子中,我们拆分了abc到 3 组。第 1 组包含 a , 第 2 组包含 b , 第 3 组包含 c .然后,我们用组 1 值 + $ 替换 3 组字符 + 第 2 组值。


$`用于插入一个位于匹配字符串之前的字符

console.log('abc'.replace(/b/, '$`'));

匹配b字符,然后得到 ab 替换的字符


$'用于插入匹配字符串后面的字符

console.log('abc'.replace(/b/, "$'"));

匹配b字符,然后得到 cb 替换的字符


$&用于插入匹配的字符串。如果不匹配,则返回默认字符串。

console.log('abc'.replace(/(b)/, '$1 $&'));
console.log('abc'.replace(/x/, '$&'));


使用方法$n$1的使用方法相同$2 $3$4多于。我们替换 n1 2 3 4 .

关于javascript - 如何使用正则表达式在 JavaScript 中使用插入和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53331988/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com