ref: fdafa085a245d4f48f84c6875a6b7cb89b8b5c6c
dir: /lib/regex/test/basic.myr/
use std use "testmatch" const main = { var s : byte[:] s = std.strjoin([ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ][:], "") std.put("hi\n") testmatch(".*bc", "Abc", `std.Some [][:]) std.put("1\n") dbgmatch("(a*)*", "a", `std.Some ["a"][:]) std.put("2\n") testmatch("(aa|aab?)*", s, `std.Some ["aa"][:]) std.put("3\n") /* greedy matches */ testmatch("(<.*>).*", "<a foo> blah <bar>", `std.Some [ "<a foo> blah <bar>", ][:]) std.put("3\n") testmatch("(<.+>).*", "<a foo> blah <bar>", `std.Some [ "<a foo> blah <bar>", ][:]) std.put("4\n") /* reluctant matches */ testmatch("(<.*?>).*", "<a foo> blah <bar>", `std.Some [ "<a foo>", ][:]) std.put("5\n") testmatch("(<.+?>).*", "<a foo> blah <bar>", `std.Some [ "<a foo>", ][:]) std.put("6\n") }