reDurationString
Regular expression to match a duration string.
Usage
var reDurationString = require( '@stdlib/regexp/duration-string' );
reDurationString()
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
]
*/
reDurationString.REGEXP
Regular expression to match a duration string.
var bool = reDurationString.REGEXP.test( '3d12h' );
// returns true
Notes
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.
Examples
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