Regex String startswith

Gast #6536910
Lesenswert?
• ▲
▼
Hallo zusammen,

Ich habe 1h gegogelt und regexr.com probiert, kriegs aber nicht hin... 
Ich habe beispielsweise den folgenden Text:

"T#10MS"

Beim Eintragen in ein TextBox möchte ich prüfen ob die Eingabe in der 
richtigen Reihenfolge ist. D.h. IsMatch() soll mir true zurückgeben, 
wenn ich T oder T# eintrage. IsMatch soll false zurück geben wenn das 
zweite Zeichen ein kein "#" ist oder wenn das dritte Zeichen kein 
integer ist. Die Eingabe endet mit "MS".

kann mir jdm helfen das richtige regex pattern fuer diese Strings zu
finden?

Gruß
Gast #6550043
Lesenswert?
• ▲
▼
Also ich verstehe das so, er hat Eingaben, die einem Muster entsprechen:
1
^T#?\d+MS$

Aber er will nicht wissen, ob es voll übereinstimmt, sondern ob die 
bereits eingegebenen Zeichen plausibel sind, also in dem Fall 
eigentlich:
1
^(T(#?\d+(MS?)?)?)?$

Ich hatte auch schon einmal eine Situation, wo ich im Grunde nicht match 
vs kein match wissen wollte, sondern kein match, kein match aber 
plausibler Anfang, match & weitere Eingaben möglich, match & keine 
weiteren eingaben möglich. Damals hatte ich keine fertig Lösung 
gefunden, und selbst einen Parser zusammengeschustert. Es würde mich 
daher auch interessieren, ob es da nicht schon irgendwo eine fertige 
Lösung gegeben hätte.
Gast #6550228
Lesenswert?
• ▲
▼
🐧 DPA 🐧 schrieb:
> Also ich verstehe das so, er hat Eingaben, die einem Muster
> entsprechen:^T#?\d+MS$

von Zeilenanfang und ende war nicht die Rede.. der die TO möchte nur 
true oder false auf ein Textmuster haben.

Da reicht das von mir oben schon, bzw wie er es geschrieben hat sogar 
ohne MS. T mal mit mal ohne Raute und ein Integer. einfacher gehts ja 
nicht.
Gast #6550240
Lesenswert?
• ▲
▼
TotoMitHarry schrieb:
> von Zeilenanfang und ende war nicht die Rede.. der die TO möchte nur

Doch, doch, sonst könnte man ja irgendwelchen Dummfug vor und/oder 
hinter der Nummer eingeben.

"Du bist doof T#69MS !" soll ja keine erlaubte Eingabe sein. Dafür muss 
man die Optionen so setzen, dass ^ und $ sich auf die ganze Zeichenkette 
und nicht nur auf eine Zeile beziehen.

Was mir auch noch aufgefallen ist, der Fragesteller hat nicht 
spezifiziert, welches Ergebnis ein leeres Eingabefeld ergeben soll.

Und natürlich ist es auch nicht die ergonomischtse Lösung, ewig gleiche 
Zeichen immer wieder eintippen zu lassen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.