$ echo 1b22a3d3c | egrep -o 'a|b|c|d'
b
a
d
c
####
echo 1b22a3d3c | perl -ne'if(/a/&&/b/&&/c/&&/d/){print"Match!\n";}'
####
use strict;
use warnings;
use List::Permutor;
my $test_string="1b22a3d3c";
my @regex_parts=("a","b","c","d");
my $permutated_regex_parts=new List::Permutor @regex_parts;
while (my @set = $permutated_regex_parts->next){
my $pattern=construct_regex(@set);
if($test_string =~ /$pattern/){
print("a match! pattern is: $pattern\n");
}
}
sub construct_regex{
my $regex=".*";
foreach my $s (@_){
$regex.="$s.*";
}
return $regex;
}