Hallo zusammen,
ich bin gerade verzweifelt eine RegEx am basteln, die herausfinden soll, ob in einem String der Text "{989}" enthalten ist.
Zwischen den geschweiften Klammern können beliebig viele Zahlen stehen (nur Zahlen).
Also z.B.: "ein text mit Inhalt {3456}"
oder "Ich {22} bin ein Text"
Angenommen in dem Text ist nur eine { enthalten, soll False zurückgegeben werden.
Habt Ihr eine Idee? Ich bekomme es einfach nicht hin..
Schonmal danke!
wie wäre es mit {989}
😉
**Edit: **Kann sein, dass du die Klammern escapen musst (das wäre dann {989}
[{][0-9]*[}] (ungetestet) müßte gehen.
Gruß David
Achso, sorry habe die Frage nicht genau durchgelesen.
Die Lösung von DavidT müsste gehen.
Hey, super. Klappt!
Ich hatte alles, bis auf den dämlichen Stern. Regex's werde ich wohl nie gut können.
Vielen Dank!
Hallo Fabsen2102,
Regex's werde ich wohl nie gut können.
hm, zumindest wird es dir schwerfallen, solange du diese Einstellung hast. 🙂
herbivore
Folgendes Muster ist ausreichend, die Engine ist schlau genug um zu erkennen, dass die curly brackets nicht zu einem Quantifizierer gehören.
Der Stern ist ungenau, oder willst du auch "{}"? Beliebig viele Zahlen ist für mich 1 bis n, also das Plus.
\d ist natürlich das gleiche wie [0-9] aber IMHO klarer.
{\d+}
Naja, für jeden der sich mal mit Automatentheorie und der Umwandlung von NFA's in RegEx beschäftigt hat, ist meine Schreibweise die gängigste, von daher halte ich es für vermessen von einer klareren Schreibweise zu reden. Das Argument mit dem + lasse ich gelten, das hängt aber von der Aufgabenstellung ab ob Kleene oder Plus.
Gruß David
Hallo DavidT,
\d ist natürlich das gleiche wie [0-9] aber IMHO klarer.
[...] von daher halte ich es für vermessen von einer klareren Schreibweise zu reden.
bei einer Aussage mit IMHO von Vermessenheit zu sprechen, finde ich übertrieben. Davon abgesehen verwende ich auch lieber \d, obwohl ich [0-9] eigentlich klarer finde. 🙂
herbivore
Jedem das seine 🙂
Gruß David