gpt4 book ai didi

带引用的 JavaScript 正则表达式替换

转载 作者:行者123 更新时间:2023-11-29 22:05:43 24 4
gpt4 key购买 nike

我在处理 JavaScript 正则表达式语句时遇到了一些问题 - 我不太明白哪里出了问题。我已经在在线工具中进行了测试,他们建议它应该可以工作,所以我假设我习惯的 C# 正则表达式和 JavaScript 之间存在一些不同。

我正在使用的字符串非常简单:

[a] + [b]

我尝试使用的正则表达式匹配是:

/[(?<name>[a-zA-Z0-9])/]

我正在尝试用以下内容替换该值:

viewModel.$1.control.value()

应该留给我的是:

viewModel.a.control.value() + viewModel.b.control.value()

不幸的是,我总是打印出我的初始值,这表明我的匹配不起作用,但我不明白为什么。我尝试的唯一明显的事情是在正斜杠和反斜杠之间切换方括号的转义。

任何人都可以提出其他可能出错的地方吗?

最佳答案

Javascript 正则表达式中没有命名组。使用这个:

var s = '[a] + [b]';
repl = s.replace(/\[([a-zA-Z0-9])\]/g, 'viewModel.$1.control.value()');
//=> "viewModel.a.control.value() + viewModel.b.control.value()"
  • 您还需要转义 [] 以便在正则表达式中匹配它们。

关于带引用的 JavaScript 正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21097691/

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