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, \w
iç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 \w
alfasayısal stenonun ASCII olmayan karakterlerle de eşleşmesine izin verir . Bu durumda, rakamları ve alt çizgileri aşağıdaki \w
gibi çıkararak tüm alfabeleri alabilirsiniz :
\A[^\W\d_]+\z
\A
dizenin başlangıcında, dizenin \z
sonunda 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 .