in reply to Re: Matching permutations with regex
in thread Matching permutations with regex

OK. That's probably pretty fast too.

But I think you misunderstood? I can generate them, but I wanted to _match_ any permutation of a given string.

Update: Oh, I had the =~ backwards, and that led you astray.

(Not shown in the OP is a programmatic way to generate the regex solution based on the input string, but that was left out for clarity.)

-QM
--
Quantum Mechanics: The dreams stuff is made of

Replies are listed 'Best First'.
Re^3: Matching permutations with regex
by tybalt89 (Monsignor) on Nov 22, 2018 at 15:52 UTC

    Like so ?

    #!/usr/bin/perl -l # https://perlmonks.org/?node_id=1226058 use strict; use warnings; $_ = 'aabbcc'; my $len = length; my $inner = join ',', split //, tr///csr; my $glob = "{$inner}" x $len; my $re = "^(?=.{$len}\$)"; while( /./ ) { my $count = s/$&//g; $re .= "(?=(?:.*$&){$count})"; } $_ =~ $re and print for glob $glob;

    Outputs the 90 valid permutations.