I'm not entirely sure if this is the correct answer, but if you define your own custom character class with a 'regex' object, you can use that in the grouping.
sub matching_chars(Str $chars_to_match, Str $_) { my regex x { $chars_to_match ** 1 }; m/<[<x>]>/; } The above worked for me in the very small testing I did. ~Paul On Sat, Aug 31, 2019 at 9:54 PM yary <not....@gmail.com> wrote: > I found something easy in Perl 5 that's puzzling me in Perl 6- specifying > a character class via a variable. > > Perl 5: > sub matching_chars { > (my $chars_to_match, local $_) = @_; > /([$chars_to_match]+)/ > } > > say matching_chars('24680', '19584203'); # says 8420 > say matching_chars('+\/\]\[', 'Apple ][+//e'); # says ][+// > > Perl 6: > sub matching_chars(Str $chars_to_match, Str $_) { > # warnings, treats as string not variable > m/<[$chars_to_match]>/; > } > > How do I get Perl 6 to interpret a variable in the contents of a character > class? > From http://docs.perl6.org/language/regexes#Regex_interpolation I'd think > that Rakudo would use the literal contents of $chars_to_match, instead > it's using the literal chars "$ c h a r s _ t o _ m a t c h" and warning > about repeated c, underscore, etc. > > -y > -- __________________ :(){ :|:& };: