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
1m3s10ms
is a duration string containing three time units:1m
(1 minute),3s
(3 seconds), and10ms
(10 milliseconds). The string60m
is 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
1M3S10MS
is 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