[英]Replace chars up to a specific char using Regex
我有一个字符串“ 000-2.50”或“ 00-12.50”或“ 0-120.50”,我想用一个@字符替换零直到负号“-”。
我想以“ @@@-2.50”或“ @@-12.50”或“ @ -120.50”结尾。 如何使用正则表达式实现这一目标?
使用正向先行查找所有零后跟一个破折号:
0(?=[^-]*-)
JS代码:
console.log( "000-2.50".replace(/0(?=[^-]*-)/g, "@") );
或者,如果您只想要前导零:
console.log( "000-2.50".replace(/^0+(?=-)/g, function(match) { return "@".repeat(match.length); }) )
要从字符串开头替换每个0
,如何使用粘滞标记y
var str = '000-2.50'; var res = str.replace(/0/gy, '@'); console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.