Regular expression to match a duration string.
var reDurationString = require( '@stdlib/regexp/duration-string' );Returns a regular expression to match a duration string.
var RE_DURATION = reDurationString();
// returns <RegExp>
var parts = RE_DURATION.exec( '3d2ms' );
/* returns
[
'3d2ms',
'3d',
undefined,
undefined,
undefined,
'2ms',
index: 0,
input: '3d2ms',
groups: undefined
]
*/
parts = RE_DURATION.exec( '4h3m20s' );
/* returns
[
'4h3m20s',
undefined,
'4h',
'3m',
'20s',
undefined,
index: 0,
input: '4h3m20s',
groups: undefined
]
*/Regular expression to match a duration string.
var bool = reDurationString.REGEXP.test( '3d12h' );
// returns true-
A duration string is a string containing a sequence of time units. A time unit is a nonnegative integer followed by a unit identifier. The following unit identifiers are supported:
d: daysh: hoursm: minutess: secondsms: milliseconds
For example, the string
1m3s10msis a duration string containing three time units:1m(1 minute),3s(3 seconds), and10ms(10 milliseconds). The string60mis a duration string containing a single time unit:60m(60 minutes). Time units must be supplied in descending order of magnitude (i.e., days, hours, minutes, seconds, milliseconds). -
Duration strings are case insensitive. For example, the string
1M3S10MSis equivalent to1m3s10ms. -
The regular expression captures the following groups:
- The days component.
- The hours component.
- The minutes component.
- The seconds component.
- The milliseconds component.
var reDurationString = require( '@stdlib/regexp/duration-string' );
var RE_DURATION = reDurationString();
var bool = RE_DURATION.test( '3d12h' );
// returns true
bool = RE_DURATION.test( '1M3S10MS' );
// returns true
bool = RE_DURATION.test( '1y.0w.0d' );
// returns false
bool = RE_DURATION.test( '1y3w' );
// returns false
bool = RE_DURATION.test( 'beep' );
// returns false