|
|
|
@ -117,6 +117,7 @@ var reTests = []struct {
|
|
|
|
|
{`\d{3,4}`, nil, "ababab555", []Group{{6, 9}}},
|
|
|
|
|
{`\bpaint\b`, nil, "paints", []Group{}},
|
|
|
|
|
{`\b\w{5}\b`, nil, "paint", []Group{{0, 5}}},
|
|
|
|
|
{`\w{}`, nil, "test", nil},
|
|
|
|
|
{`[^\w]`, nil, "abcdef1230[]qq';;'", []Group{{10, 11}, {11, 12}, {14, 15}, {15, 16}, {16, 17}, {17, 18}}},
|
|
|
|
|
{`[^\W]`, nil, "abcdef1230[]qq';;'", []Group{{0, 1}, {1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}, {6, 7}, {7, 8}, {8, 9}, {9, 10}, {12, 13}, {13, 14}}},
|
|
|
|
|
{`[\[\]]`, nil, "a[b[l]]", []Group{{1, 2}, {3, 4}, {5, 6}, {6, 7}}},
|
|
|
|
@ -547,6 +548,20 @@ var reTests = []struct {
|
|
|
|
|
{`[\p{Greek}\p{Cyrillic}]`, nil, `ΣωШД`, []Group{{0, 1}, {1, 2}, {2, 3}, {3, 4}}},
|
|
|
|
|
|
|
|
|
|
{`(?<=\().*?(?=\))`, nil, `(abc)`, []Group{{1, 4}}},
|
|
|
|
|
|
|
|
|
|
{`((a|b)\2)`, nil, `aa`, []Group{{0, 2}}},
|
|
|
|
|
{`((a|b)\2)`, nil, `bb`, []Group{{0, 2}}},
|
|
|
|
|
{`((a|b)\2)`, nil, `ab`, []Group{}},
|
|
|
|
|
{`((a|b)\2)`, nil, `ba`, []Group{}},
|
|
|
|
|
|
|
|
|
|
{`((a|b)\2){3}`, nil, `aaaaaa`, []Group{{0, 6}}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `bbbbbb`, []Group{{0, 6}}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `bbaaaa`, []Group{{0, 6}}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `aabbaa`, []Group{{0, 6}}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `aaaabb`, []Group{{0, 6}}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `bbaabb`, []Group{{0, 6}}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `baabab`, []Group{}},
|
|
|
|
|
{`((a|b)\2){3}`, nil, `bbabab`, []Group{}},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var groupTests = []struct {
|
|
|
|
|