2011-08-15 30 views
42

Tôi cần xác định xem chuỗi có chứa hai hoặc nhiều ký tự liên tiếp alpha không. Hai hoặc nhiều hơn [a-zA-Z] cạnh nhau. Ví dụ:RegEx để tìm hai hoặc nhiều ký tự liên tiếp

"ab" -> valid 
"a1" -> invalid 
"a b" -> invalid 
"a"-> invalid 
"a ab" -> valid 
"11" -> invalid 

Trả lời

93

này nên làm như lừa:

[a-zA-Z]{2,} 
-4

Tôi khá chắc chắn rằng bạn chỉ có thể sử dụng [Az] thay vì [a-zA-Z] để có được nhỏ và trên case alpha chars http://www.w3schools.com/jsref/jsref_obj_regexp.asp

+12

-1: Đây là một ví dụ tuyệt vời về lý do tại sao bạn không bao giờ nên sử dụng w3schools để tham khảo hoặc giáo dục. '[A-z]' khớp với nhiều chữ cái hơn. Cụ thể, nó cũng khớp với dấu ngoặc vuông, dấu gạch chéo ngược, dấu mũ, dấu gạch dưới và dấu gạch chéo ngược. –

+0

Thật vậy, những gì @TimPietzcker nói là chính xác; các nhân vật mà anh ta đề cập đến giữa 'Z' và' a', do đó sẽ được (sai) được bao gồm trong một khuôn mẫu như vậy. Tôi thứ hai đề nghị: * Không sử dụng w3schools! * Nó có rất nhiều thông tin xấu tinh tế như thế này. –

+3

Ouch đầu tiên zing trên Stack, nó stings nhiều hơn tôi nghĩ. Vì vậy, bằng cách bao gồm A-z nó phù hợp với tất cả mọi thứ từ [A-Z một loạt các công cụ tôi không muốn và a-z] tất cả các charcodes giữa thủ đô và không mũ? http://www.danshort.com/ASCIImap/ – Kevin

Các vấn đề liên quan