# Pastebin fZFeldo1  perl6 -e ' grammar braceExpansion { token TOP { } token start-txt { \w+ } token end-txt { \w+? } token list { "\{" ~ "\}" + % "," } token element { <-[ " & $ ( ) ` ; < > | { } ]> } } my $match = braceExpansion.parse( Q ); say $match; ' 「A{1,2,*}B」 start-txt => 「A」 list => 「{1,2,*}」 element => 「1」 element => 「2」 element => 「*」 end-txt => 「B」