-bexter-
Goto Top

Reguläre Ausdrücke

Hallo Leute!

Ich brauche mal eure Hilfe bei zwei regülären Ausdrücken:

1.
Wie sieht der reguläre Ausdruck aus der folgendes findet:

Nokia 3210
Nokia N96
usw.

also ich möchte nach "Nokia" suchen, und was danach kommt ist egal.
Wie lautet denn der reguläre Ausdruck dafür?

(edit: achja.. ich habs mal mit "Nokia*" probiert.. aber das hat nicht so richtig funktioniert, ist das falsch, oder?)

2.
Wie sieht der reguläre Ausdruck aus der folgendes findet:

MAUS
MIES
usw.

also das Wort soll mit M beginnen und mit S aufhören, das in der Mitte ist egal.
Wie lautet denn der reguläre Ausdruck dafür?

Vielen vielen Dank für Hilfe!
Grüße

P.S. ich weiß nicht obs was zur Sache tut... aber ich brauch das für VB-Script

Content-ID: 83680

Url: https://administrator.de/forum/regulaere-ausdruecke-83680.html

Ausgedruckt am: 26.12.2024 um 14:12 Uhr

bastla
bastla 21.03.2008 um 20:06:44 Uhr
Goto Top
Hallo -bexter-!

Versuch es mal so:

1.: "Nokia .*"
2.: "M\w*S"

Grüße
bastla
-bexter-
-bexter- 22.03.2008 um 09:18:20 Uhr
Goto Top
Hallo bastla!

zu 1. Ist das Leerzeichen zwischen Nokia und .* beabsichtigt? Nicht oder?
zu 2. Also mit ^kann man ja angeben, das es dass das folgende Zeichen das erste Zeichen ist. Aber wie kann ich angeben, welches das letzte Zeichen ist?

^Nokia.*

und

^M\q*S => wie mache ich das S zum letzten Zeichen?
^M\q*S$ => müssen da Klammern rein?


Vielen Dank für die Unterstützung!
bastla
bastla 22.03.2008 um 10:27:27 Uhr
Goto Top
Hallo -bexter-!

zu 1.
Nach Deinen Beispielen sollte auf "Nokia" ein Leerzeichen folgen, daher beabsichtigt.
Wenn nur noch ein weiteres Wort (aus Buchstaben und Ziffen bzw "_" bestehend) gefunden werden soll, eher so:
Nokia \w*

zu 2.
Wieso verwendest Du eigentlich "\q" (ist mir für VBS nicht geläufig)?
Mit "^" gibst Du an, dass das folgende Zeichen am Anfang des untersuchten Textes (nicht einer Zeile) stehen soll.

Falls Du zeilenweise prüfst (was aus Deinem Posting nicht hervorgeht), und die gesamte Zeile nur aus diesem einen Wort bestehen dürfte, müsste es so aussehen:
^M\w*S$
Um das Wort in einem Text inkl Zeilenumbrüchen (etwa als Ergebnis des Einlesens einer Textdatei mit ".ReadAll") am Beginn (des Textes | einer Zeile) zu finden:
(^|\n)M\w*S
Allerdings wird dann ein Zeilenumbruch am Anfang mitgeliefert, weshalb für die einzelnen Matches ein "Replace(Match, vbLF, "") angebracht wäre ...

Grüße
bastla