Beat: Perl Regexp

Beitrag lesen

Mein String muss in dem folgenden Format sein ...

$string="aa"

$string="aa,bb"
$string="w1,sw,34,55,ls,55,d2,63"
$string="ll,ll"
$string="oo,22,33"


>   
> Also 2 Character gefolgt von nix oder einem Komma und dann nochmal 2 Character.  
  
Wenn du diesen Satz mit Klammern und Zähler ausstattest hast du schon fast die Lösung!  
  
/^  
#2 Character  
\w\w  
  #gefolgt von  
  (  
   #nix  
   #oder  
  |  
   #einem Komma  
   ,  
   #und dann nochmal 2 Character.  
   \w\w  
  )  
$/x;  
  

> Soweit bin ich gedanklich :  
> ~~~perl

if ($opts{s} !~ /^\w{2},{0,1}\w{2}+$/)  

> {  
>         exit;  
> }

Sollte doch einfach sein
()* match 0 oder beliebig viele Dinge.

Vertiefe deine Kenntnis über () und (?:)
http://perldoc.perl.org/5.10.0/perlre.html

/^
  \w\w
  (?:
    ,
    \w\w
  )*
$/x;

Spezifiziere, was \w genau beinhaltet.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische