gpt4 book ai didi

javascript - 用正则表达式替换返回未定义

转载 作者:行者123 更新时间:2023-11-30 12:45:21 26 4
gpt4 key购买 nike

我的正则表达式还不错,但是我有一个小问题,也许你们中的一个人可以回答这个简单的问题。

我这样做:

var myString = "10px";
var myRegexp = new RegExp("(\\d*\\.?\\d*){1}(em|ex|grad|ch|deg|ms|rad|rem|s|turn|vh|vw|vmin|vmax|px|cm|in|pt|pc|%)?", "gi");

myString.replace(myRegexp, function( match, number, type ){
console.log(match, number, type);
});

替换控制台日志两次,第一次是:"10px", "10", "px" 我不知道为什么会有第二次,它返回给我: ,,undefined(前两个值不是 null 或空字符串,它们什么都不返回,绝对是空的)。

我的问题是,为什么替换尝试在什么都没有的情况下进行第二次替换?以及如何避免它?

最佳答案

代替:

 (\\d*\\.?\\d*){1}

使用开始 anchor :

^(\\d*\\.?\\d*)

因为您的正则表达式具有所有可选的内容并且也匹配空字符串。

关于javascript - 用正则表达式替换返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22684590/

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