gpt4 book ai didi

javascript - 如何用匹配长度的 $ 字符串替换正则表达式匹配

转载 作者:搜寻专家 更新时间:2023-11-01 05:16:22 24 4
gpt4 key购买 nike

我有一个字符串

test ="    abc"

我需要用 $ 符号替换 '="' 和 'abc' 之间的每个空格。所以这里应该变成

test ="$$$$abc"

我正在尝试这样做。

str.replace(/(=")(\s+)/g,"$1" + "$2".replace(/\s/g, "$"))

我打算做的是用 $1 提取字符串的 ="部分。然后我试图将正则表达式 ($2) 的第二个匹配项转换为字符串。我认为 "$2"将在扩展 $2 反向引用后给我字符串“”。然后使用该扩展字符串我尝试再次调用 replace 以尝试将这些空格转换为 $。之后我附加 $1 和替换的 $2 以获得="$$$$。但我意识到 $2 不会扩展为 ' '。有什么方法可以让我操纵反向引用的字符串并使用该操纵版本来替换我的字符串的内容。

最佳答案

感谢您的回答霍华德。无论如何,我找到了另一种方法。似乎您可以将函数作为替换函数的第二个参数传递。当在字符串中找到匹配项时将调用此函数,参数为匹配字符串、括号中的匹配项(如果有)、匹配项在字符串中的偏移量和整个字符串。然后匹配将替换为从该函数返回的字符串

str. replace(/(=")(\s+)/g, function(match,p1,p2,offset,str){return match.replace(/\s/g,"$")})

关于javascript - 如何用匹配长度的 $ 字符串替换正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683279/

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