Prova ^.{1,50}$
Spiegazione:
.
punto sta per tutti i caratteri. Tranne\n
per cui dovrai usares
Bandiera DOTALL.
Demo Regex101
Opzioni di espressione regolare
Per la Lunghezza Esatta della stringa che potresti usare
^.{50}$
Considerando che per controllare il intervallo di lunghezza puoi usare
^.{5,50}$
Potrebbe essere più sensato per utenti reali se includessi anche un limite inferiore al numero di lettere
Se desideri semplicemente controllare la Lunghezza minima puoi usare
^.{50,}$
Ora una stringa di almeno cinquanta lettere, ma che si estende a qualsiasi lunghezza,
^.{0,50}$
Questo corrisponderà a un'intera stringa contenente tra 0 e 50 (inclusi) di qualsiasi carattere. Sebbene le espressioni regolari siano probabilmente lo strumento sbagliato per questo lavoro. Regex è eccessivo , controlla solo la lunghezza della stringa. Avresti dovuto usare String.Length
per questo come
if(UrString.Length > 0 && UrString.Length <= 50)
Che ne dici di ispezionare il Length
della stringa?
string str = "less than 50 chars";
if(str.Length > 0 && str.Length <= 50)
{
// yay, we've got a winner
}