Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe hier ein Labview 2011 (32 Bit). Aus einem String möchte ich mittels 'Muster suchen' einen bestimmten Teil bekommen. Leider scheint es aber meine regulären Ausdrücke nicht so zu interpretieren, wie ich mir das vorstelle.
Konkret sieht das so aus:
- Ich habe einen String (das ist die Antwort des FTP-Kommandos PASV): "227 Entering Passive Mode (123,124,125,126,204,112)."
- daraus möchte ich die letzten beiden Zahlen haben, also die 204 und die 112
Also nahm ich mir 'Muster suchen' zur Hand, habe den String-Eingang mit meinem String verknüpft und als regulären Ausdruck erstmal [0-9]+,[0-9]+[^,] genommen. Das sollte mir ja "204,112" zurückliefern. Leider bekomme ich da aber unverständlicherweise "123,124" (also die ersten beiden Zahlengruppen) heraus. Ich habe doch aber explizit in meinem Regexp gesagt, dass kein Komma mehr folgen soll. Wieso kommt dann also da trotzdem die erste Zahlengruppe heraus?
Darauf aufbauen gleich noch eine Frage: [0-9]+ ist ja zur Beschreibung einer maximal drei Stellen großen Zahl nicht ganz korrekt, normalerweise würde ich da als Regexp \d{1,3} schreiben. Doch das wird gar nicht von 'Muster suchen' erkannt, da wird immer gar nichts gefunden. Wieso?
Die ganzen Formatierungen und Abkürzungen blicke ich glaub' nie.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
ich habe hier ein Labview 2011 (32 Bit). Aus einem String möchte ich mittels 'Muster suchen' einen bestimmten Teil bekommen. Leider scheint es aber meine regulären Ausdrücke nicht so zu interpretieren, wie ich mir das vorstelle.
Konkret sieht das so aus:
- Ich habe einen String (das ist die Antwort des FTP-Kommandos PASV): "227 Entering Passive Mode (123,124,125,126,204,112)."
- daraus möchte ich die letzten beiden Zahlen haben, also die 204 und die 112
Also nahm ich mir 'Muster suchen' zur Hand, habe den String-Eingang mit meinem String verknüpft und als regulären Ausdruck erstmal [0-9]+,[0-9]+[^,] genommen. Das sollte mir ja "204,112" zurückliefern. Leider bekomme ich da aber unverständlicherweise "123,124" (also die ersten beiden Zahlengruppen) heraus. Ich habe doch aber explizit in meinem Regexp gesagt, dass kein Komma mehr folgen soll. Wieso kommt dann also da trotzdem die erste Zahlengruppe heraus?
Darauf aufbauen gleich noch eine Frage: [0-9]+ ist ja zur Beschreibung einer maximal drei Stellen großen Zahl nicht ganz korrekt, normalerweise würde ich da als Regexp \d{1,3} schreiben. Doch das wird gar nicht von 'Muster suchen' erkannt, da wird immer gar nichts gefunden. Wieso?
Du musst das VI "Match Regular Expression" in der String-Palette verwenden anstatt das "Match Pattern".
Dann klappts auch wie gewünscht
(08.08.2012 11:57 )Y-P schrieb: Ich hätte es so gemacht:
Die ganzen Formatierungen und Abkürzungen blicke ich glaub' nie.
Gruß Markus
Danke für die Idee mit dem Tabellenstring, damit klappt das ja auch. Daran habe ich gar nicht gedacht.
(08.08.2012 12:24 )M Nussbaumer schrieb: Du musst das VI "Match Regular Expression" in der String-Palette verwenden anstatt das "Match Pattern".
Dann klappts auch wie gewünscht
Gruss Marc
Damit klappt es, danke. Aber warum? Laut der Hilfe kann ich bei beiden VIs reguläre Ausdrücke benutzen.
(08.08.2012 12:48 )A_Bachmann schrieb: Damit klappt es, danke. Aber warum? Laut der Hilfe kann ich bei beiden VIs reguläre Ausdrücke benutzen.
Zitat aus der erweiterten Hilfe von Match Pattern:
Code:
The Match Pattern function gives you fewer options for matching strings but performs more quickly than the Match Regular Expression function. For example, the Match Pattern function does not support the parenthesis or vertical bar (|) characters.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Ok, also ist es wohl eher so, dass ich mit 'Muster suchen' nur Basic RE nutzen kann und mit 'Regulären Ausdruck suchen' dann auch Extended REs? Das hätte NI aber ruhig auch einfach so direkt in die Hilfetexte schreiben können, da wüsste gleich jeder, was gemeint ist... Naja gut ok.