From 65d2317f797785adad5887b2457d52b5b74e7dfd Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Fri, 21 Feb 2025 08:44:33 -0500 Subject: [PATCH] Added more backreference tests --- regex/re_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/regex/re_test.go b/regex/re_test.go index 3e1130f..d6ff85c 100644 --- a/regex/re_test.go +++ b/regex/re_test.go @@ -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 {