Javascript正则表达式-仅删除字符串中的前0位数字

Javascript正则表达式-仅删除字符串中的前0位数字,javascript,regex,Javascript,Regex,我有一个包含字符和数字的javascript字符串。现在,如果字符串包含一系列(仅限阿拉伯语)数字,例如 邦德先生是0070号代理人 我想删除其中的第一个零: 结果:邦德先生是070号特工 非零数字后面的其他零不应删除 我在regex php Flavor中的解决方案是/[[^\]]*?\K0/,它可以完美地工作 不幸的是,Javascript不支持php的反斜杠K功能(\K)。使用此正则表达式/0\d+/,并传递回调以呈现结果 var str=“邦德先生是代理人0070”; str=str.

我有一个包含字符和数字的javascript字符串。现在,如果字符串包含一系列(仅限阿拉伯语)数字,例如

邦德先生是0070号代理人

我想删除其中的第一个零:

结果:
邦德先生是070号特工

非零数字后面的其他零不应删除

我在regex php Flavor中的解决方案是
/[[^\]]*?\K0/
,它可以完美地工作


不幸的是,Javascript不支持php的反斜杠K功能(\K)。

使用此正则表达式
/0\d+/
,并传递回调以呈现结果

var str=“邦德先生是代理人0070”;
str=str.replace(/0\d+/),函数(t){
返回t子串(1);
});

console.log(str)
您只需要
s=s.replace(“0”,“0”)
,不需要正则表达式。在PHP中,要删除第一个
0
,可以使用
$s=preg_replace(“~0~”,“$s,1”)
您是说如果字符串是
XYZ 700
,则不应将其转换为
XYZ 70
?您的解决方案基本上是
str=str.replace(/0(\d+/,“$1”)
为什么不使用Wiktor提到的更简单的
替换
功能呢?@Tyler上述功能也将处理
Bond先生是0 0070
@Tyler它将把
700
变成
70
@WiktorStribiż如果你是对的,我忘了分组结果。我要提到这一点。