Thread Regex Problem/Frage (6 answers)
Opened by Ionit at 2015-01-14 12:22

payx
 2015-01-14 14:32
#179233 #179233
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo Ionit,

nach Deiner Anforderungsbeschreibung ist das Verhalten doch korrekt:
2015-01-14T13:03:02 Ionit
Wenn mehr als 25 Zeichen =skip/igno

Elemente mit mehr als 25 Zeichen werden übersprungen, nachfolgende kürzere wieder gesammelt.

Wenn beim ersten Element mit mehr als 25 Zeichen Schluss sein soll, geht es wohl am besten mit einer Schleife:
Code (perl): (dl )
1
2
3
4
5
use 5.010;
for my $phrase (split /, /, $string =~ s/^.+?: //r) {
    last if length($phrase)>25;
    say $phrase;
}

HTH
Grüße
payx

PS: Was ist, wenn im Text nach den als Phrasen zu sammelnden Elementen zufällig schon früher als nach 25 Zeichen das erste Komma auftaucht? Dann wird das erste Textstück auch gesammelt (und evtl. auch noch weitere, bis zur ersten Folge von 25 Zeichen ohne Komma+Leerzeichen halt). Sehr praxistauglich dürfte der ganze Ansatz nicht sein.

Editiert von payx: PS
Last edited: 2015-01-14 14:39:40 +0100 (CET)

View full thread Regex Problem/Frage