gpt4 book ai didi

JavaScript 匹配 ( 后跟一个数字

转载 作者:行者123 更新时间:2023-11-30 07:06:03 24 4
gpt4 key购买 nike

在字符串n+n(n+n)中,其中n代表任何数字或数字,我想匹配( 并将其替换为 *(,但前提是它后跟数字或数字。

示例:

  • 我想把 2+22(2+2) 改成 2+22*(2+2),
  • 我想把-1(3)改成-1*(3),
  • 4+(5/6) 应该保持原样。

这是我的:

var str = '2+2(2+2)'.replace(/^[0-9]\(/g, '*(');

但它不起作用。提前致谢。

最佳答案

删除^,并将数字分组:

'2+2(2+2)'.replace(/([0-9])\(/g, '$1*(')
'2+2(2+2)'.replace(/(\d)\(/g, '$1*(') //Another option: [0-9] = \d

建议:2. 通常是有效数字 (= 2)。以下 RegExp 删除数字和括号之间的点。

'2+2(2+2)'.replace(/(\d\).?\(/g, '$1*(') //2.(2+2) = 2*(2+2)

括号创建一个组,可以使用$n 引用,其中n 是组的索引:$1

您的 RegExp 以 ^... 开头,这意味着:匹配以 ... 开头的字符串的一部分。这种行为当然不是故意的。

关于JavaScript 匹配 ( 后跟一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778274/

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