Hilfe bei Code für regular expression

exiter28

Erfahrenes Mitglied
Hallo Jungs und Mädels,

vielleicht kann mir jemand auf die Sprünge helfen...
es soll in einem String ein bestimmtes Wort gesucht werden.

Das best. Wort kann so aussehen (Dezimal): 123,55 Euro
oder:
1234,55 Euro

ich wollte das mit regulären ausdrücken machen, aber leider komm ich nicht drauf,
wie das aussehen muss:

mein Versucht:

pattern = "(\d*\.?\d{2}?){1}$Euro"

Das Beispiel liefert aber nichts zurück...

Hat einer eine Idee?

Danke schon mal!
 

deepthroat

Erfahrenes Mitglied
Hi.

Was soll denn der $ Anker in dem reg. Ausdruck bewirken? Und das {1} kann man ohne Auswirkungen weglassen...

Außerdem mußt du die Backslashes verdoppeln wenn du nicht die @"" Stringliterale verwendest.

C#:
var r = new Regex(@"\d+(,\d{2})?\sEuro");
Gruß
 

exiter28

Erfahrenes Mitglied
Hi.

Was soll denn der $ Anker in dem reg. Ausdruck bewirken? Und das {1} kann man ohne Auswirkungen weglassen...

Außerdem mußt du die Backslashes verdoppeln wenn du nicht die @"" Stringliterale verwendest.

C#:
var r = new Regex(@"\d+(,\d{2})?\sEuro");
Gruß

Hi,

danke erst mal für Deine Hilfe. Also in VB.Net funktionierts mit:
pattern = ("\d+(,\d{2})?\sEuro")

Vielen Dank!

Jetzt müsste ich aber noch Werte holen, welche als 1000ér Trennzeichen einen "." haben.
Also z.B.: auch 1.200,00 Euro

wäre das ok?
pattern = ("(\d{1})+.\d+(,\d{2})?\sEuro")
 

deepthroat

Erfahrenes Mitglied
Jetzt müsste ich aber noch Werte holen, welche als 1000ér Trennzeichen einen "." haben.
Also z.B.: auch 1.200,00 Euro

wäre das ok?
pattern = ("(\d{1})+.\d+(,\d{2})?\sEuro")
Nochmal: das {1} ist sinnfrei. X{1} entspricht immer X für jeden reg. Ausdruck X.

Das . ist ein Meta-Zeichen welches mit jedem bel. Buchstaben übereinstimmt.

Code:
\d+(\.\d{3})*(,\d{2})?\sEuro
Gruß
 

exiter28

Erfahrenes Mitglied
jetzt wäre der code fast kpl. korrekt. ich bräuchte aber noch einen kleinen schups.

Mit: pattern = ("\d{3},\d{2}?\sEuro")

suche ich ja explizit nach z.B.: 123,00 Euro
jetzt möchte ich aber noch nach 1.234,00 Euro suchen. Das würde so funktionieren:
pattern = ("\d{1}.\d{3},\d{2}?\sEuro")

meine Frage jetzt: wie bring ich das in einem unter?
daß sowohl nach 123,00 Euro als auch nach 1.234,55 Euro gesucht wird****

Besten Dank
 

Neue Beiträge