blob: 7e09a4b2f41540223a87a00ed37aae406c0c3047 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
include nre, unittest, optional_nonstrict
block: # match
block: # upper bound must be inclusive
check("abc".match(re"abc", endpos = -1) == none(RegexMatch))
check("abc".match(re"abc", endpos = 1) == none(RegexMatch))
check("abc".match(re"abc", endpos = 2) != none(RegexMatch))
block: # match examples
check("abc".match(re"(\w)").captures[0] == "a")
check("abc".match(re"(?<letter>\w)").captures["letter"] == "a")
check("abc".match(re"(\w)\w").captures[-1] == "ab")
check("abc".match(re"(\w)").captureBounds[0] == 0 .. 0)
check("abc".match(re"").captureBounds[-1] == 0 .. -1)
check("abc".match(re"abc").captureBounds[-1] == 0 .. 2)
block: # match test cases
check("123".match(re"").matchBounds == 0 .. -1)
|