Wie kann ich überprüfen, ob ein C # Regular Expression zu Spiel Versucht 1- (and-only-1) -Character Strings?

StackOverflow https://stackoverflow.com/questions/3870344

  •  28-09-2019
  •  | 
  •  

Frage

Vielleicht ist dies eine sehr selten (oder sogar stumm) Frage, aber ich brauche es in meiner app.

Wie kann ich überprüfen, ob ein C # regulärer Ausdruck versucht, 1-Zeichenkette übereinstimmen?

Das heißt, ich erlaube nur die Benutzer 1-Zeichenketten zu suchen. Wenn der Benutzer mit mehreren Zeichenketten zu suchen versucht, wird eine Fehlermeldung an den Benutzer sein, angezeigt wird.

Habe ich mich klar ausgedrückt?

Danke.

Peter

P. S .: Ich sah eine Antwort über die endgültige abgestimmt Strings' Länge zu berechnen, aber aus irgendeinem unbekannten Grund, die Antwort ist verschwunden. Ich dachte, es für eine Weile, ich denke, die letzte abgestimmte Saiten Länge ist in Ordnung zu berechnen, wenn es etwas langsam gonna ist. Dennoch ist die ursprüngliche Frage sehr selten und langweilig.

War es hilfreich?

Lösung

Statt den regulären Ausdruck Validierung, die kompliziert sein könnte, können Sie es nur auf einzelne Zeichen statt der gesamten Zeichenfolge anwenden könnten.

Wenn dies nicht möglich ist, Sie können die Möglichkeiten des regulären Ausdrucks auf einige bestimmte Funktionen zu beschränken. Zum Beispiel kann der Benutzer nur Zeichen eingeben oder Zeichen übereinstimmen auszuschließen. Dann sind Sie die Regex in Ihrem Code aufzubauen.

Beispiel:

  • ABC Spiele [ABC]
  • ^ABC Spiele [^ABC]
  • A-Z Spiele [A-Z]
  • # Spiele [0-9]
  • \w Spiele \w
  • AB#x-z Spiele [AB]|[0-9]|[x-z]|\w
  • , welche Fälle brauchen Sie Unterstützung?

Das wäre etwas einfach zu parsen und zu validieren.

Andere Tipps

ein regexp wäre .{1} Auf diese Weise können beliebige Zeichen though. wenn Sie nur wollen alpanumeric dann können Sie verwenden [a-z0-9]{1} oder Stenografie /w{1}

Eine weitere Möglichkeit seines die Anzahl der Zeichen zu begrenzen, ein Benutzer in einem Eingabefeld eingeben. setzt eine maxlength auf sie.

Eine weitere Option ist die Formulare Eingabefeld ein Zeichen zu speichern und eine Zeichenfolge nicht, obwohl Sie um dies einige Handhabung müssen möglicherweise Fehler zu vermeiden.

Warum nicht maxlength verwenden und auf ein Zeichen speichern.

Sie können für unescaped * aussehen, +, {}, ? usw. und die Anzahl der Zeichen zählen (nicht zu vergessen die [] als ein Zeichen zu glätten).

Im Grunde müssen Sie Ihre Regex analysieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top