MCPcopy Create free account
hub / github.com/bedroombuilds/python2rust / is_8601_date

Function is_8601_date

17_regex/rust/io_regex/src/iso_8601.rs:6–12  ·  view source on GitHub ↗

more realistic validation, uses fancy-regex for backreferences and lookaround

(text: &str)

Source from the content-addressed store, hash-verified

4
5/// more realistic validation, uses fancy-regex for backreferences and lookaround
6pub fn is_8601_date(text: &str) -> bool {
7 lazy_static! {
8 static ref RE: FancyRegex = FancyRegex::new(r"^(?:(?=[02468][048]00|[13579][26]00|[0-9][0-9]0[48]|[0-9][0-9][2468][048]|[0-9][0-9][13579][26])\d{4}(?:(-|)(?:(?:00[1-9]|0[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6])|(?:01|03|05|07|08|10|12)(?:\1(?:0[1-9]|[12][0-9]|3[01]))?|(?:04|06|09|11)(?:\1(?:0[1-9]|[12][0-9]|30))?|02(?:\1(?:0[1-9]|[12][0-9]))?|W(?:0[1-9]|[1-4][0-9]|5[0-3])(?:\1[1-7])?))?)$|^(?:(?![02468][048]00|[13579][26]00|[0-9][0-9]0[48]|[0-9][0-9][2468][048]|[0-9][0-9][13579][26])\d{4}(?:(-|)(?:(?:00[1-9]|0[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-5])|(?:01|03|05|07|08|10|12)(?:\2(?:0[1-9]|[12][0-9]|3[01]))?|(?:04|06|09|11)(?:\2(?:0[1-9]|[12][0-9]|30))?|(?:02)(?:\2(?:0[1-9]|1[0-9]|2[0-8]))?|W(?:0[1-9]|[1-4][0-9]|5[0-3])(?:\2[1-7])?))?)$").unwrap();
9 }
10
11 RE.is_match(text).unwrap()
12}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected