Pattern = (Plain Integer Plain)* Plain = $(!'${'.)* { return "<String>" } Integer = '${' v:$([0-9]+) '}' { return parseInt(v, 10); }
abc ${1}${2} xyz ${3}
[ [ "<String>", 1, "<String>" ], [ "<String>", 2, "<String>" ], [ "<String>", 3, "<String>" ]]
[ "<String>", 1, "<String>", 2, "<String>", 3, "<String>"]
[ "<String>", 1, 2, "<String>", 3 ]