in reply to Regex refresher
When in pause, it means you don't quite understand what the pattern is saying, so it's best to get it explained
As for patterns, well, look at the regex ;D#!/usr/bin/perl -l my @L = ( "", qw{ 0 00 11 000 011 110 0000 0011 0110 1001 1100 1111 }) +; print scalar @L, " with anchors"; for(0..$#L){ print "$_)'$L[$_]'" if $L[$_] =~ /^(0|1(01*0)*1)*$/; } __END__ use YAPE::Regex::Explain; die YAPE::Regex::Explain->new(qr/(0|1(01*0)*1)*/)->explain; __DATA__ The regular expression: (?-imsx:(0|1(01*0)*1)*) matches as follows: NODE EXPLANATION ---------------------------------------------------------------------- (?-imsx: group, but do not capture (case-sensitive) (with ^ and $ matching normally) (with . not matching \n) (matching whitespace and # normally): ---------------------------------------------------------------------- ( group and capture to \1 (0 or more times (matching the most amount possible)): ---------------------------------------------------------------------- 0 '0' ---------------------------------------------------------------------- | OR ---------------------------------------------------------------------- 1 '1' ---------------------------------------------------------------------- ( group and capture to \2 (0 or more times (matching the most amount possible)): ---------------------------------------------------------------------- 0 '0' ---------------------------------------------------------------------- 1* '1' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- 0 '0' ---------------------------------------------------------------------- )* end of \2 (NOTE: because you're using a quantifier on this capture, only the LAST repetition of the captured pattern will be stored in \2) ---------------------------------------------------------------------- 1 '1' ---------------------------------------------------------------------- )* end of \1 (NOTE: because you're using a quantifier on this capture, only the LAST repetition of the captured pattern will be stored in \1) ---------------------------------------------------------------------- ) end of grouping ----------------------------------------------------------------------
____________________________________________________
** The Third rule of perl club is a statement of fact: pod is sexy.
In Section
Meditations