Entwickler-Ecke
Basistechnologien - Regular Expression
Fujitsufan - Di 06.11.18 16:08
Titel: Regular Expression
Hallo,
momentan versuche ich die "Regular Expression" anzuwenden.
Ich möchte in einem String innerhalb 2 Zeichen "{}" einen Text erkennen und diesen zurückgeben.
In meinem String "strTemp" ist folgendes drin:
<>mm{0.00##}
Mein RegEx Ausdruck lautet:
[{+[0-9.0-9#]+}]
Hier die Syntax dazu:
C#-Quelltext
1: 2:
| strTemp = "<>mm{0.00##}"; Match m = Regex.Match(strTemp, "[{+[0-9.0-9#]+}]"); |
Doch leider bleibt meine Variable "m" leer bzw. enthält nur
die Zeichen '{' und '}'.
Eigentlich hatte ich folgendes erwartet:
"{0.00##}"
Vielen Dank.
Fujitsufan.
Moderiert von Th69: C#-Tags hinzugefügtModeriert von Th69: Topic aus C# - Die Sprache verschoben am Di 06.11.2018 um 15:41
Glowhollow - Di 06.11.18 16:18
du könntest auch eine for schleife konstruieren in denen du die char[index] abfrägst, und guckst, ob das { ist oder }. Dann setzt du zwei variablen, mit start und endposition und schneidest das dann aus dem string aus. Voila fertig.
Klar geht mit regexp auch.
Edit. gerade deine RegExp getestet. Die gibt auch nichts zurück. Da mußt du nochmal ans reißbrett. :)
P.S. nutze
https://regex101.com/ zum testen deiner reg exp
Th69 - Di 06.11.18 16:40
Wofür die eckigen Klammern zu Beginn und Ende?
Nimm "{+[0-9.0-9#]+}".
Verkürzt reicht auch "{[0-9.#]+}".
Stephan74656 - Mi 07.11.18 09:57
Hier kannst du deinen RegEx testen.
https://regex101.com/
Anleitungen und Erklärungen, sowie Tipps und Tricks gibt es auf
https://www.rexegg.com/
(Ich weiß, ist Englisch, aber gut gemacht)
Stephan74656
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!