LabVIEWForum.de
Muster vergleichen / Regulärer Ausdruck - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Muster vergleichen / Regulärer Ausdruck (/Thread-Muster-vergleichen-Regulaerer-Ausdruck)



Muster vergleichen / Regulärer Ausdruck - Mak - 10.01.2007 14:09

Hallo,

ich hab ein kleines Problem. Aus einem String möcht ich einen Teil hinausfiltern. Dies mache ich über "Muster vergleichen".
Es funktioniert auch wunderbar, allerdings kann ich keinen regulären Ausdruck für ein beliebiges Zeichen finden. Gibt es sowas?
Ich hab z. B. :

".....Das ist ein Teststring mit der Nummer! Fertig. usw....."

Aus diesem String soll der Teil " Teststring mit der Nummer! Fertig" hinausgefiltert werden.

der Reguläre Ausdruck: Teststring[~0-9]+Fertig würde mir das passende Ergebnis liefern. Wenn ich aber nun auch noch Ziffern innerhalb meines zu suchenden Strings habe, dann würde ich einen regulären Ausdruck benötigen, der mir alle Zeichen liefert.
-->Was ich damit sagen will, ich such eine Möglichkeit, einen beliebeigen String zwischen zwei bekannten Wörten (Teststring+Fertig) herauszufiltern.

Dank für die Hilfe


Muster vergleichen / Regulärer Ausdruck - Mak - 10.01.2007 14:14

Ok, hat sich erledigt!
Habs anders gelöst!
Suche nach dem ersten Wort, nimm den String danach und such in diesem nach dem Zweiten Wort und nimm davon den String davor!!!! War ja ganz einfach:-)Tippen


Muster vergleichen / Regulärer Ausdruck - Achim - 12.01.2007 13:33

Hi,

mit "Match Pattern" kannst du nach z.B. im String "XY12345" mit der Regular Expression "XY..." suchen und wirst "XY123" finden. Der Punkt (".") "finds any character". Dabei musst du allerdings so viele Punkte angeben, wie du Zeichen erwartest. Für deine Zwecke dann wohl doch nix, da hast du wohl die beste Lösung gefunden...man könnte aber auch noch mit dem "Index after match" ein bisschen experimetieren...

Gruss
Achim


RE: Muster vergleichen / Regulärer Ausdruck - R2wo - 30.11.2011 11:21

Moinmoin,

ich bin mir nicht sicher ob das pushen alter Nachrichten in Ordnung geht...-wenn nicht löscht meinen Beitrag einfach oder verschiebt ihn. (Hab mich eben erst angemeldet und bin mir da leider nicht so sicher)

Der Grund warum ich hier schreibe ist, dass ich genau zu diesem Thema eine Frage habe und es wäre super wenn mir einer helfen könnte. Und zwar:

Möchte ich mit Hilfe von Match Pattern einen String, der folgendermaßen aussehen könnte

blubbblabla3blablubb44laberpalaber

einen String suchen, der die 3 zu Beginn, eine bestimmte Anzahl an Zeichen und dann die 44 am Ende beinhaltet.

Dies würde ich in diesem Fall tun, mit Hilfe des regulären Ausdrucks: 3........44
So weit so gut. Nur ist in meinem Fall die Anzahl der Zeichen zwischen den beiden Ziffern so lange, dass es schlecht aussieht wenn ich so einen riesigen regulären Ausdruck da stehen hätte. Besser wäre es also wohl mit: 3.{8}44 Das funktioniert allerdings bei mir in LabView nicht. Einer eine Ahnung woran das liegen könnte?

Danke vorab, R2wo


RE: Muster vergleichen / Regulärer Ausdruck - unicorn - 30.11.2011 22:25

Probier mal 3.*44 (* für beliebig oftes Wiederholen von dem vorhergehenden Zeichen, in diesem Falle beliebiges Zeichen)


RE: Muster vergleichen / Regulärer Ausdruck - R2wo - 01.12.2011 10:04

Vielen Dank für Deine Antwort. Das würde auch funktionieren, nur muß ich auch sicher gehen, daß eine ganz bestimmte Anzahl an beliebigen Zeichen zwischen den Ziffern steht. Normalerweie stellt man diese Länge ja mit den geschweiften Klammern da. Nur leider funktioniert das nicht....verwende ich die irgendwie flasch oder habe ich etwas wichtiges dabei übersehen?


RE: Muster vergleichen / Regulärer Ausdruck - Lucki - 01.12.2011 10:48

..und wenn überhaupt sonst nichts geht: Mit einem VI gehts es auf jeden Fall:
[attachment=37475]


RE: Muster vergleichen / Regulärer Ausdruck - R2wo - 01.12.2011 13:17

Yay, das sieht gut aus! Damit hatte ich nun nicht gerechnet. Vielen Dank Lucki!
Wobei auch in diesem VI nicht die Länge zwischen den Ziffern geprüft wird, was ja aber auch im Prinzip völlig wumpe ist - ich kann ja einfach den Ergebnisstring noch einmal auf seine Länge überprüfen. (Hätte ich natürlich auch einfach mit dem regulären Ausdrucks von unicorn machen können)...
Großes Danke an euch damit kann ich arbeiten Smile
R2wo


RE: Muster vergleichen / Regulärer Ausdruck - Lucki - 01.12.2011 15:11

Das kommt jetzt unerwartet und unverdient, denn ich selbst habe mich hinterher richtig geschämt den Vorschlag so gemacht zu haben. Denn es geht doch ganz einfach mit zweimaliger Anwendung der Funktion "Muster suchen" - und ganz ohne "reguläre Ausdrücke". Hattest Du nicht selbt angedeutet dass Du es so machen willst?
[attachment=37486]


RE: Muster vergleichen / Regulärer Ausdruck - R2wo - 02.12.2011 10:17

Nicht schämen hier. Cool
Dein vorangeganener Vorschlag war super, denn letztendlich (und das hatte ich garnicht erwähnt) brauche ich den Offset bei einem Treffer, den ich mit Muster suchen nicht bekomme, aber mit Hilfe der Schleife wunderbar rausziehen kann Smile Also war Dein Vorschlag genau das was ich brauchte! Danke nochmals!

...wobei ich mich immernoch wundere warum das nicht mit der einfachsten Lösung, den geschweiften Klammern, geht Blink