Bir dizenin iki veya daha fazla ardışık alfa karakter içerip içermediğini belirlemem gerekiyor. İki veya daha fazla [a-zA-Z]yan yana. Misal:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
Yanıtlar:
[a-zA-Z] {2,} iki veya daha fazla aynı ardışık karakter için çalışmaz. Bunu yapmak için, herhangi bir karakteri yakalamanız ve ardından yakalamayı şu şekilde tekrarlamanız gerekir:
(.) \ 1
Parantez,. Bu, herhangi bir karakteri temsil eder ve \ 1, yakalamanın sonucudur - temelde o karakterin art arda tekrarını arar. Eğer ardı ardına aynı olan karakterleri bulmak istediğinizde spesifik olmak istiyorsanız, "herhangi bir karakteri" bir karakter sınıfıyla değiştirin ...
([a-zA-Z]) \ 1
Art arda yinelenen bir küçük veya büyük harf bulur. "Abbc123" ile eşleşir, "abc1223" ile eşleşmez. Aralarında boşluk bırakmak için (yani a ab), daha sonra normal ifadede yakalanan karakter ile yineleme arasına isteğe bağlı bir boşluk ekleyin ...
([az] AZ]) \ s? \ 1
Küçük ve büyük alfa karakterleri elde etmek için [a-zA-Z] yerine [Az] kullanabileceğinizden oldukça eminim http://www.w3schools.com/jsref/jsref_obj_regexp.asp
[A-z]harften fazla eşleşir. Özellikle, köşeli parantezler, ters eğik çizgiler, düzeltme işaretleri, alt çizgiler ve ters işaretlerle de eşleşir.
Zve abu yüzden (hatalı olarak) böyle bir modele dahil edilir. Öneriyi ikinci kez söylüyorum : w3schools kullanmayın! Bunun gibi pek çok ince kötü bilgi içeriyor.
[65-90]eşleşecek 5- 9(dahil 6) ve 0!
{2}Virgül olmadan da mümkün , değil mi?