Thread Suche Regex (30 answers)
Opened by xAmp at 2009-09-23 14:49

LanX-
 2009-09-24 14:08
#126175 #126175
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
2009-09-23T15:43:11 topeg
zwei Lösungen habe ich auch noch:

Code (perl): (dl )
1
2
3
my $text2 = "tldmfmyvkif4dwhbvysdrtaysdf";
my $out=join('', ($text2=~/([^y])/gc)[0..12]);
print "$out\n";


Nette Lösung allerdings ist der c-Modifier eigentlich unnötig... (es sei denn man testet öfter in der shell ;)

Leider optimiert perl die Regex nicht dahingehend dass sie nach 13 matches aufgibt, die komplette Matchliste bis zum Ende würde erzeugt und der Rest wieder weggeschmissen.

zwei Lösungen habe ich auch noch, gefragt 13 Ziffern.

Code (perl): (dl )
1
2
3
4
  DB<1> $t="12345Y"x10

  DB<2> $a="";   $a.=$& while $t=~/\d/g and length($a)<13;   print $a
1234512345123


(vorsicht pos($t) steht jetzt hinterm letzten match!)

und straight forward

Code (perl): (dl )
1
2
3
4
5
6
7
  DB<2> $re='(\d)\D*'x13

  DB<3> $t="12345Y"x10

  DB<4> print (join "", $t=~/$re/)
1234512345123
 

Last edited: 2009-09-24 14:13:04 +0200 (CEST)

View full thread Suche Regex