( zamboriz | 2013. 09. 24., k – 09:11 )

> ezt a regexpet könnyebb lehetett megírni, mint megérteni

Így készült, ebből jobban látszik a szerkezete:


@t=(
  'aaa99',
  'aa9a9',
  'aa99a',
  'a9aa9',
  'a9a9a',
  'a99aa',
  '9aaa9',
  '9aa9a',
  '9a9aa',
  '99aaa'
);

foreach $t (@t){
  $t =~ s/a/([A-Z])(?!.*\\g{-1})/g;
  $t =~ s/9/([0-9])(?!.*\\g{-1})/g;
}

print join(')|(',@t), "\n";

Plusz pár karakter kézzel.