Regular expression matching RFC 4647 basic language ranges.
Recognises the basic language range syntax defined in RFC 4647 § 2.1, whatever the case of its subtags: a sequence
of subtags or the standalone * wildcard. The pattern is anchored, matching a whole range and nothing less;
carrying no flags, it keeps no state between tests and may be shared freely.
Reach for it wherever a language range is to be recognised by a regular expression rather than by a call, as in a
form control or a schema; isTagRange validates values in code.
Remarks
Case tolerance is built into the expression itself rather than left to an i flag, so that its source carries the
whole grammar wherever flags aren't available.
Regular expression matching RFC 4647 basic language ranges.
Recognises the basic language range syntax defined in RFC 4647 § 2.1, whatever the case of its subtags: a sequence of subtags or the standalone
*wildcard. The pattern is anchored, matching a whole range and nothing less; carrying no flags, it keeps no state between tests and may be shared freely.Reach for it wherever a language range is to be recognised by a regular expression rather than by a call, as in a form control or a schema; isTagRange validates values in code.