2010-10-26 24 views
7

Các biểu hiện thường xuyên trên (trong Java) phù hợp với một chuỗi các ký tự chữ số có độ dài từ 5 đến 10

Làm thế nào tôi có thể sửa đổi biểu thức chính quy ở trên để phù hợp với các yêu cầu ở trên cũng như khớp với một chuỗi rỗng?

Trả lời

15

Làm cho nó không bắt buộc (trận đấu chính xác một hoặc không có thời gian)

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

Cảm ơn, công trình ý tưởng của bạn và giải thích dễ hiểu. – siva636

+0

Không có prob, btw. các ? định lượng chỉ là một lối tắt cho {0,1} –

4

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

+0

SchlaWieners là giải pháp thanh lịch hơn .. – joni

+0

Cảm ơn, ý tưởng của bạn có vẻ hiệu quả, nhưng tôi không hiểu nó. – siva636

+1

Bạn thấy đường ống "|" gần cuối của regex? Nó giống như toán tử OR, trong trường hợp này là '[a-zA-Z0-9] {5,10}' OR "" :) – joni