reDecimalNumber

Regular expression to match a decimal number.

Usage

var reDecimalNumber = require( '@stdlib/regexp/decimal-number' );

reDecimalNumber( [options] )

Returns a regular expression to match a decimal number.

var RE_DECIMAL_NUMBER = reDecimalNumber();

var out = RE_DECIMAL_NUMBER.test( 'foo 1.234.' );
// returns true

out = RE_DECIMAL_NUMBER.test( '2:3' );
// returns false

The function accepts an options object with optional properties:

  • flags: string specifying regular expression flags. Default: ''.
  • capture: boolean indicating whether to create a capture group for the match. Default: false.

By default, the function returns a regular expression which does not have any flags specified. To specify flags, set the flags option with a list of flags (which may be in any order).

var replace = require( '@stdlib/string/replace' );

var RE_DECIMAL_NUMBER = reDecimalNumber({
    'flags': 'g'
});

var str = 'beep 1.234 boop 1.234';
var out = replace( str, RE_DECIMAL_NUMBER, '' );
// returns 'beep  boop '

By default, the function returns a regular expression which does not capture the part of a string matching the regular expression. To capture matches, set the capture option.

var RE_DECIMAL_NUMBER = reDecimalNumber({
    'capture': true
});

var out = RE_DECIMAL_NUMBER.exec( 'beep 1.234 boop' ).slice();
// returns [ '1.234', '1.234' ]

out = RE_DECIMAL_NUMBER.exec( '' );
// returns null

reDecimalNumber.REGEXP

Regular expression to match a decimal number.

var bool = reDecimalNumber.REGEXP.test( '2:3' );
// returns false

reDecimalNumber.REGEXP_CAPTURE

Regular expression to capture characters matching a decimal number.

var parts = reDecimalNumber.REGEXP_CAPTURE.exec( '1.234' );
// returns [ '1.234', '1.234' ]

Notes

  • A leading digit is not required.

    var bool = reDecimalNumber.REGEXP.test( '.5' );
    // returns true
    
  • A decimal point and at least one trailing digit is required.

    var bool = reDecimalNumber.REGEXP.test( '5.' );
    // returns false
    
  • The REGEXP regular expression is defined as

    /[-+]{0,1}[0-9]*\.[0-9]+/
    
  • The REGEXP_CAPTURE regular expression is defined as

    /([-+]{0,1}[0-9]*\.[0-9]+)/
    

Examples

var reDecimalNumber = require( '@stdlib/regexp/decimal-number' );

var RE_DECIMAL_NUMBER = reDecimalNumber();

var bool = RE_DECIMAL_NUMBER.test( '1.234' );
// returns true

bool = RE_DECIMAL_NUMBER.test( 'beep 1.234' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '1.234 boop' );
// returns true

bool = RE_DECIMAL_NUMBER.test( 'foo 1.234.' );
// returns true

bool = RE_DECIMAL_NUMBER.test( 'foo 1.234.567.890' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '1.234!' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '0.234' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '.234' );
// returns true

bool = RE_DECIMAL_NUMBER.test( 'beep .234' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '.234 boop' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '1.0' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '-1.0' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '+1.0' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '0.0' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '.0' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '1.234:' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '1.234%' );
// returns true

bool = RE_DECIMAL_NUMBER.test( '0' );
// returns false

bool = RE_DECIMAL_NUMBER.test( 'beep 0' );
// returns false

bool = RE_DECIMAL_NUMBER.test( '2:3' );
// returns false

bool = RE_DECIMAL_NUMBER.test( 'beep' );
// returns false

bool = RE_DECIMAL_NUMBER.test( '' );
// returns false
Did you find this page helpful?