Ben sadece alfabetik karakterler ve bu yalnız bir dize eşleşecek düzenli bir ifade alabilir miyim merak ediyordum.
àbir alfabetik karakter tanımlarınıza göre? Hangi dili kullanıyorsun
Ben sadece alfabetik karakterler ve bu yalnız bir dize eşleşecek düzenli bir ifade alabilir miyim merak ediyordum.
àbir alfabetik karakter tanımlarınıza göre? Hangi dili kullanıyorsun
Yanıtlar:
Bu 2 varyanttan herhangi birini kullanabilirsiniz:
/^[A-Z]+$/i
/^[A-Za-z]+$/
ASCII alfabe giriş dizesiyle eşleştirmek için.
[A-Za-z] tüm alfabe ile eşleşir (hem küçük hem de büyük harf).^ve $bu alfabe dışında hiçbir şeyin eşleşmeyeceğinden emin olacaksınız.Kod:
preg_match('/^[A-Z]+$/i', "abcAbc^Xyz", $m);
var_dump($m);
Çıktı:
array(0) {
}
Test durumu , yalnızca girişte 1 veya daha fazla alfabe varsa eşleştirmek istediği yorumu içindir . Test durumunda gördüğünüz ^gibi, giriş dizesinde olduğundan eşleşme başarısız oldu abcAbc^Xyz.
Not: Yukarıdaki cevabın sadece ASCII alfabe ile ve Unicode karakterlerle eşleşmediğini lütfen unutmayın . Unicode harfleri eşleştirmek istiyorsanız şunu kullanın:
/^\p{L}+$/u
Burada, \p{L}herhangi bir dilden gelen herhangi bir harfle eşleşir
\w is shorthand for A-Za-z- değil gerçekten, \wiçin kestirmeden[a-zA-Z0-9_]
ASCII olmayan alfabetik karakterler eklemeniz gerekiyorsa ve normal ifadenizdeki lezzet Unicode'u destekliyorsa,
\A\pL+\z
doğru regex olurdu.
Bazı normal ifade motorları bu Unicode sözdizimini desteklemez, ancak \walfasayısal stenonun ASCII olmayan karakterlerle de eşleşmesine izin verir . Bu durumda, rakamları ve alt çizgileri aşağıdaki \wgibi çıkararak tüm alfabeleri alabilirsiniz :
\A[^\W\d_]+\z
\Adizenin başlangıcında, dizenin \zsonunda eşleşir ( ^ve $ayrıca Ruby gibi bazı dillerde satırların başında / sonunda veya belirli normal ifade seçenekleri ayarlanmışsa eşleşir).
Bu, bir veya daha fazla alfabetik karakterle eşleşir:
/^[a-z]+$/
Aşağıdakileri kullanarak büyük / küçük harfe duyarsız yapabilirsiniz:
/^[a-z]+$/i
veya:
/^[a-zA-Z]+$/
Ruby ve köşeli ayraç ifadelerinde POSIX karakter sınıflarını destekleyen diğer dillerde şunları yapabilirsiniz:
/\A[[:alpha:]]+\z/i
Bu, tüm Unicode alfabe dillerindeki alfa karakterleriyle eşleşir. Tereyağından kıl çeker gibi.
Daha fazla bilgi: http://en.wikipedia.org/wiki/Regular_expression#Character_classes http://ruby-doc.org/core-2.0/Regexp.html
[^[:alpha]].
[a-zA-Z] bunu iyi yapmalı.
Hile sayfasına başvurabilirsiniz .