|
|
@ -196,9 +196,9 @@ var reTests = []struct {
|
|
|
|
{`a.*b`, nil, "acc\nccb", []Group{}},
|
|
|
|
{`a.*b`, nil, "acc\nccb", []Group{}},
|
|
|
|
{`a.{4,5}b`, nil, "acc\nccb", []Group{}},
|
|
|
|
{`a.{4,5}b`, nil, "acc\nccb", []Group{}},
|
|
|
|
{`a.b`, nil, "a\rb", []Group{{0, 3}}},
|
|
|
|
{`a.b`, nil, "a\rb", []Group{{0, 3}}},
|
|
|
|
{`a.b`, []ReFlag{RE_MULTILINE}, "a\nb", []Group{{0, 3}}},
|
|
|
|
{`a.b`, []ReFlag{RE_SINGLE_LINE}, "a\nb", []Group{{0, 3}}},
|
|
|
|
{`a.*b`, []ReFlag{RE_MULTILINE}, "acc\nccb", []Group{{0, 7}}},
|
|
|
|
{`a.*b`, []ReFlag{RE_SINGLE_LINE}, "acc\nccb", []Group{{0, 7}}},
|
|
|
|
{`a.{4,5}b`, []ReFlag{RE_MULTILINE}, "acc\nccb", []Group{{0, 7}}},
|
|
|
|
{`a.{4,5}b`, []ReFlag{RE_SINGLE_LINE}, "acc\nccb", []Group{{0, 7}}},
|
|
|
|
|
|
|
|
|
|
|
|
{`)`, nil, ``, nil},
|
|
|
|
{`)`, nil, ``, nil},
|
|
|
|
{`^$`, nil, ``, []Group{{0, 0}}},
|
|
|
|
{`^$`, nil, ``, []Group{{0, 0}}},
|
|
|
@ -446,6 +446,21 @@ var reTests = []struct {
|
|
|
|
{`$`, nil, "jkl\n123abc\nxyz", []Group{{14, 14}}},
|
|
|
|
{`$`, nil, "jkl\n123abc\nxyz", []Group{{14, 14}}},
|
|
|
|
{`$`, []ReFlag{RE_MULTILINE}, "jkl\n123abc\nxyz", []Group{{3, 3}, {10, 10}, {14, 14}}},
|
|
|
|
{`$`, []ReFlag{RE_MULTILINE}, "jkl\n123abc\nxyz", []Group{{3, 3}, {10, 10}, {14, 14}}},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{`a.b`, nil, "a\nb", []Group{}},
|
|
|
|
|
|
|
|
{`a.b`, []ReFlag{RE_SINGLE_LINE}, "a\nb", []Group{{0, 3}}},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{`\w+`, nil, `--ab_cd0123--`, []Group{{2, 11}}},
|
|
|
|
|
|
|
|
{`[\w]+`, nil, `--ab_cd0123--`, []Group{{2, 11}}},
|
|
|
|
|
|
|
|
{`\D+`, nil, `1234abc5678`, []Group{{4, 7}}},
|
|
|
|
|
|
|
|
{`[\D]+`, nil, `1234abc5678`, []Group{{4, 7}}},
|
|
|
|
|
|
|
|
{`[\D5]+`, nil, `1234abc5678`, []Group{{4, 8}}},
|
|
|
|
|
|
|
|
{`[\da-fA-F]+`, nil, `123abc`, []Group{{0, 6}}},
|
|
|
|
|
|
|
|
{`\xff`, nil, "\u00ff", []Group{{0, 1}}},
|
|
|
|
|
|
|
|
{`\xFF`, nil, "\u00ff", []Group{{0, 1}}},
|
|
|
|
|
|
|
|
{`\x00ff`, nil, "\u00ff", []Group{}},
|
|
|
|
|
|
|
|
{`\x{0000ff}`, nil, "\u00ff", []Group{{0, 1}}},
|
|
|
|
|
|
|
|
{`\x{0000FF}`, nil, "\u00ff", []Group{{0, 1}}},
|
|
|
|
|
|
|
|
|
|
|
|
// Todo - add numeric range tests
|
|
|
|
// Todo - add numeric range tests
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -588,6 +603,9 @@ var groupTests = []struct {
|
|
|
|
{`(?<!-):(.*)(?<!-):`, nil, `a:bc-:de:f`, []Match{[]Group{{1, 9}, {2, 8}}}},
|
|
|
|
{`(?<!-):(.*)(?<!-):`, nil, `a:bc-:de:f`, []Match{[]Group{{1, 9}, {2, 8}}}},
|
|
|
|
{`(?<!\\):(.*)(?<!\\):`, nil, `a:bc\:de:f`, []Match{[]Group{{1, 9}, {2, 8}}}},
|
|
|
|
{`(?<!\\):(.*)(?<!\\):`, nil, `a:bc\:de:f`, []Match{[]Group{{1, 9}, {2, 8}}}},
|
|
|
|
{`(?<!\?)'(.*)(?<!\?)'`, nil, `a'bc?'de'f`, []Match{[]Group{{1, 9}, {2, 8}}}},
|
|
|
|
{`(?<!\?)'(.*)(?<!\?)'`, nil, `a'bc?'de'f`, []Match{[]Group{{1, 9}, {2, 8}}}},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{`([\s]*)([\S]*)([\s]*)`, nil, ` testing!1972`, []Match{[]Group{{0, 13}, {0, 1}, {1, 13}, {13, 13}}, []Group{{13, 13}, {13, 13}, {13, 13}, {13, 13}}}},
|
|
|
|
|
|
|
|
{`(\s*)(\S*)(\s*)`, nil, ` testing!1972`, []Match{[]Group{{0, 13}, {0, 1}, {1, 13}, {13, 13}}, []Group{{13, 13}, {13, 13}, {13, 13}, {13, 13}}}},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestFindAllMatches(t *testing.T) {
|
|
|
|
func TestFindAllMatches(t *testing.T) {
|
|
|
|