Siechfred: Regulärer Ausdrück: Zahl zwischen 0 und 100 finden

Beitrag lesen

Tag Christian.

/(?<!ASP) ist toll/ findet also die Zeichenkette " ist toll" sofern davor *nicht* "ASP" steht.

Ja, das Prinzip ist mir schon klar, aber ich verstehe den Sinn von Lookbehind nicht. Das würde man nämlich (in Perl) auch so erreichen: '/(?!ASP) ist toll/'. Wenn ich das Ganze mal teste, funktioniert es:

# der Satz  
$text = 'Heute war ich 3mal in 12345 Willihausen, um 25 Brote in der Bäckerei "42", Hauptstraße 101, zu kaufen, doch 0 Chance.';  
  
# Skalarer Kontext  
$text =~ /(?=\b)(100|\d{1,2})(?=\b)/;  
$treffer = $1;  
# Ausgabe: 25  
  
# Listenkontext  
@treffer = $text =~ /(?=\b)(100|\d{1,2})(?=\b)/g;  
print join(",",@treffer);  
# Ausgabe: 25,42,0

Wobei es natürlich auf die Vorgabe von Michael ankommt, also ob er allein stehende Zahlen zwischen 0 und 100 oder auch solche Sachen wie '3mal' finden will. Aber wie gesagt, wo ist jetzt der feine Unterschied?

Siechfred

--
Everybody's going to the party have a real good time,
Dancing in the desert blowing up the sunshine.