From 467f223668d13ffa42679e6c928d82d5d402d87d Mon Sep 17 00:00:00 2001 From: Ryo Nihei Date: Sun, 14 Feb 2021 20:19:22 +0900 Subject: Add bracket expression matching specified character The bracket expression matches any single character specified in it. In the bracket expression, the special characters like ., *, and so on are also handled as normal characters. --- driver/lexer_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'driver/lexer_test.go') diff --git a/driver/lexer_test.go b/driver/lexer_test.go index 1a46470..1c8d627 100644 --- a/driver/lexer_test.go +++ b/driver/lexer_test.go @@ -77,6 +77,24 @@ func TestLexer_Next(t *testing.T) { newEOFToken(), }, }, + { + regexps: [][]byte{ + []byte("[ab.*|()[\\]]"), + }, + src: "ab.*|()[]", + tokens: []*Token{ + newToken(1, []byte("a")), + newToken(1, []byte("b")), + newToken(1, []byte(".")), + newToken(1, []byte("*")), + newToken(1, []byte("|")), + newToken(1, []byte("(")), + newToken(1, []byte(")")), + newToken(1, []byte("[")), + newToken(1, []byte("]")), + newEOFToken(), + }, + }, } for _, tt := range test { res := map[int][]byte{} -- cgit v1.2.3