You want to use a backreference for the "twice" part. I punted on the "not in the set" part, and used an alternation for that. So my regex is really two parts :
. Here's my test code :/([$set]).*\1/ # Look if there is any repetition or /[^$set]/ # Look if there is any unallowed character # Which combines to /([$set]).*\1|[^$set]/
my $set = "ABCDEF"; for (<DATA>) { chomp; print "$_ vs. $set : ", $_ =~ m!([$set]).*\1|[^$set]! ? "Yes" : "No" +, "\n"; }; __DATA__ A B C ACX ABC AA BB
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
In reply to Re: regex maching unique character set
by Corion
in thread regex maching unique character set
by mce
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |