use std use "testmatch" const main = { var s : byte[:] s = std.strjoin([ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ][:], "") testmatch(".*bc", "Abc", `std.Some [][:]) testmatch("(a*)*", "a", `std.Some ["a"][:]) testmatch("(aa|aab?)*", s, `std.Some ["aa"][:]) /* greedy matches */ testmatch("(<.*>).*", " blah ", `std.Some [ " blah ", ][:]) testmatch("(<.+>).*", " blah ", `std.Some [ " blah ", ][:]) /* reluctant matches */ testmatch("(<.*?>).*", " blah ", `std.Some [ "", ][:]) testmatch("(<.+?>).*", " blah ", `std.Some [ "", ][:]) std.put("6\n") }