gpt4 book ai didi

javascript - 执行 JavaScript 正则表达式替换时如何转义捕获组 $N 后跟整数?

转载 作者:可可西里 更新时间:2023-11-01 02:43:56 31 4
gpt4 key购买 nike

据我了解,在 JavaScript 中,您可以执行正则表达式替换引用以捕获组,如下所示:

> "Hello World 1234567890".replace(
/Hello (World) (1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/,
"What's up $1");
"What's up World"

这一切都很好。但是,如果我想引用第 1 组,然后紧接着是“1”怎么办?说我要看什么“What's up World1”。所以我会写:

> "Hello World 1234567890".replace(
/Hello (World) (1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/,
"What's up $11");
"What's up 0"

当然,在这种情况下,它引用第 11 组,即“0”,而不是第 1 组后跟“1”。

我该如何解决这种歧义?

最佳答案

您可以将 String#replace 与回调函数参数一起使用:

str = "Hello World 1234567890";
repl = str.replace(/Hello (World) (1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/, function(r, g) {
return "What's up " + g + '1';});

//=> What's up World1

关于javascript - 执行 JavaScript 正则表达式替换时如何转义捕获组 $N 后跟整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842101/

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