Remove redundant piece 0*? in regex (see #2363)

This commit is contained in:
Jos de Jong 2021-12-29 13:29:39 +01:00
parent 91be05fdcc
commit e8a50259e7
2 changed files with 2 additions and 1 deletions

View File

@ -308,7 +308,7 @@ export function format (value, options) {
*/
export function splitNumber (value) {
// parse the input value
const match = String(value).toLowerCase().match(/^0*?(-?)(\d+\.?\d*)(e([+-]?\d+))?$/)
const match = String(value).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/)
if (!match) {
throw new SyntaxError('Invalid number ' + value)
}

View File

@ -376,6 +376,7 @@ describe('number', function () {
assert.deepStrictEqual(splitNumber('-23e3'), { sign: '-', coefficients: [2, 3], exponent: 4 })
assert.deepStrictEqual(splitNumber('2.3e-3'), { sign: '', coefficients: [2, 3], exponent: -3 })
assert.deepStrictEqual(splitNumber('23e-3'), { sign: '', coefficients: [2, 3], exponent: -2 })
assert.deepStrictEqual(splitNumber('000e+003'), { sign: '', coefficients: [0], exponent: 3 })
assert.deepStrictEqual(splitNumber('-23e-3'), { sign: '-', coefficients: [2, 3], exponent: -2 })
assert.deepStrictEqual(splitNumber('99.99'), { sign: '', coefficients: [9, 9, 9, 9], exponent: 1 })
})