ref: 63ee97c65c38dfd6a8100e8386610b10cb2c0d77
dir: /lib/regex/test/idxmatch.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",
][:], "")
testidxmatch(".*bc", "Abc", `std.Some [(0, 3)][:])
testidxmatch("(a*)*", "a", `std.Some [(0,1), (0, 1)][:])
testidxmatch("(aa|aab?)*", s, `std.Some [(0, 408), (406, 408)][:])
/* greedy matches */
testidxmatch("(<.*>).*", "<a foo> blah <bar>", `std.Some [
(0, 18),
(0, 18),
][:])
testidxmatch("(<.+>).*", "<a foo> blah <bar>", `std.Some [
(0, 18),
(0, 18),
][:])
/* reluctant matches */
testidxmatch("(<.*?>).*", "<a foo> blah <bar>", `std.Some [
(0, 18),
(0, 7),
][:])
testidxmatch("(<.+?>).*", "<a foo> blah <bar>", `std.Some [
(0, 18),
(0, 7),
][:])
testidxmatch(".*(<b.+?>).*", "<a foo> blah <bar>", `std.Some [
(0, 18),
(13, 18),
][:])
}