[Gelöst] Mit RegEx Zahlen aus String extrahieren

Begonnen von thaliondrambor, 19 Juni 2016, 14:13:40

Vorheriges Thema - Nächstes Thema

thaliondrambor

Hallo,

für meine Sprachsteuerung mittels FHEM möchte ich die Musiklautstärke von den SqueezePlayern einstellen. Dazu muss aus dem Sprachbefehl der Zahlenwert extrahiert werden (von 0 - 100). Und irgendwie komme ich da nicht weiter.

Der Sprachbefehl ist in der Variable $cmd gespeichert (z.B. "Lautstärke im Wohnzimmer 50").

Folgendes sollte nach meinem Verständnis funktionieren:
my $volume;
($volume) = $cmd =~ /(\d+)/;


Die Variable $volume ist aber trotzdem leer danach.
Auch folgendes geht nicht:
my $volume;
($volume) = $cmd =~ /([0-9][0-9]?[0-9]?)/;


Was ich noch nicht versucht habe ist das Löschen von allem außer der Ziffern durch Ersetzen. Ich möchte aber eigentlich viel lieber verstehen, warum das andere nicht geht. Geht das so gar nicht? Ist mein Ansatz falsch?

Schonmal vielen Dank für die Hilfe.

Nachtrag: Problem gelöst, es saß mal wieder vorm PC. Der übergebene String kam nicht so an, wie gedacht und deswegen konnte auch nichts gefunden werden.