2010-10-26 12 views
7

È possibile che questo espressione regolare (in Java) corrisponde a una stringa di caratteri alfanumerici su lunghezza tra 5 e 10.

Come posso modificare l'espressione regolare di cui sopra in modo che corrisponda ai requisiti precedenti e corrispondere a una stringa vuota?

risposta

15

Rendere facoltativa (partita esattamente uno o zero volte)

^([a-zA-Z0-9]{5,10})?$ 
+0

Grazie, le vostre opere idea e la spiegazione facile da capire. – siva636

+0

Nessun problema, btw. il ? quantificatore è solo una scorciatoia per {0,1} –

4

^(?:[a-zA-Z0-9]{5,10}|)$

+0

SchlaWieners è la soluzione più elegante .. – joni

+0

Grazie, la tua idea sembra funzionare, ma non la capisco. – siva636

+1

Vedi il tubo "|" quasi alla fine della regex? È come un operatore OR, in questo caso '[a-zA-Z0-9] {5,10}' OR "" :) – joni