RegEx正好得到2个数字,即使它更少

时间:2014-05-12 07:08:06

标签: javascript regex

我需要一个表达式,它返回一个带有两个数字的字符串,即使我只插入了一个数字。在那种情况下,用占位符填充它。这对RegEx来说甚至可能吗?

使用javascript

1 个答案:

答案 0 :(得分:1)

只要一个正则表达式,无论语言如何,都不足以满足要求。

但是使用可选的匹配组,并不难:

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
}