Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式只得到2个数字,即使它的数量更少_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式只得到2个数字,即使它的数量更少

Javascript 正则表达式只得到2个数字,即使它的数量更少,javascript,regex,Javascript,Regex,我需要一个表达式,它返回一个包含两个数字的字符串,即使我只插入了一个数字。在这种情况下,用占位符填充它。这在正则表达式中是可能的吗 使用javascript仅仅是一个正则表达式,无论是哪种语言,都不足以做到这一点 但使用可选的匹配组并没有那么难: var m = str.match(/(\d+)\D*(\d+)?/); if (m) { var number1 = m[1], number2 = m[2]===undefined ? defaultValue : m[2]

我需要一个表达式,它返回一个包含两个数字的字符串,即使我只插入了一个数字。在这种情况下,用占位符填充它。这在正则表达式中是可能的吗


使用javascript仅仅是一个正则表达式,无论是哪种语言,都不足以做到这一点

但使用可选的匹配组并没有那么难:

var m = str.match(/(\d+)\D*(\d+)?/);
if (m) {
    var number1 = m[1],
        number2 = m[2]===undefined ? defaultValue : m[2];
    // use your two numbers
} else {
   // invalid : not even one number
}

这个问题似乎离题了,因为它是关于regex的,没有指定必要的补充标记(参见regex标记说明),