LabVIEWForum.de
Reguläre Ausdrücke mit 'Muster suchen' - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Reguläre Ausdrücke mit 'Muster suchen' (/Thread-Regulaere-Ausdruecke-mit-Muster-suchen)



Reguläre Ausdrücke mit 'Muster suchen' - A_Bachmann - 08.08.2012 11:15

Hallihallo,

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?


RE: Reguläre Ausdrücke mit 'Muster suchen' - Y-P - 08.08.2012 11:57

Ich hätte es so gemacht:
[attachment=41013]
Die ganzen Formatierungen und Abkürzungen blicke ich glaub' nie. Big Grin

Gruß Markus


RE: Reguläre Ausdrücke mit 'Muster suchen' - M Nussbaumer - 08.08.2012 12:24

(08.08.2012 11:15 )A_Bachmann schrieb:  Hallihallo,

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ünschtWink

Gruss Marc


RE: Reguläre Ausdrücke mit 'Muster suchen' - A_Bachmann - 08.08.2012 12:48

(08.08.2012 11:57 )Y-P schrieb:  Ich hätte es so gemacht:

Die ganzen Formatierungen und Abkürzungen blicke ich glaub' nie. Big Grin

Gruß Markus
Danke für die Idee mit dem Tabellenstring, damit klappt das ja auch. Daran habe ich gar nicht gedacht. Smile

(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ünschtWink

Gruss Marc
Damit klappt es, danke. Aber warum? Laut der Hilfe kann ich bei beiden VIs reguläre Ausdrücke benutzen.


RE: Reguläre Ausdrücke mit 'Muster suchen' - jg - 08.08.2012 13:28

(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


RE: Reguläre Ausdrücke mit 'Muster suchen' - A_Bachmann - 08.08.2012 14:29

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. Smile