That did the trick, thank You very much.
Here is the modified version…
TAG = (\[[^\]]*\])
iex> :pgn_lexer.string '[Tag1 "Value1"][Tag2 "Value2"]{comment}'
{:ok,
[
{:tag, 1, '[Tag1 "Value1"]'},
{:tag, 1, '[Tag2 "Value2"]'},
{:comment, 1, '{comment}'}
], 1}
And as mentionned, the short version works as well
TAG = \[[^\]]*\]


















