Normal İfadeler
Aşağıdaki tabloda yeni bir dil oluşturmak
için kullanılabilecek normal ifadelerin listesi yer
almaktadır.
| Öğe adı |
Geleneksel normal ifade sembolü |
Kullanım örnekleri ve açıklamalar |
| Tüm Karakterler |
. |
c.t - "cat," "cot," vb. belirtir. |
| Gruptan Karakter |
[] |
[b-d]ell - "bell," "cell," "dell," vb. belirtir.
[ty]ell - "tell" ve "yell"i belirtir. |
| Gruptan Olmayan Karakter |
[^] |
[^y]ell - "dell," "cell," "tell"i belirtir, ancak "yell"
yasaktır.
[^n-s]ell - "bell," "cell"i belirtir, ancak "nell," "oell,"
"pell," "qell," "rell" ve "sell" yasaktır |
| Ya da |
| |
c(a|u)t - "cat" ve "cut"ı belirtir |
| 0 veya Daha Fazla Eşleşme |
* |
10* - 1, 10, 100, 1000 gibi numaraları belirtir. |
| 1 veya Daha Fazla Eşleşme |
+ |
10+ - 10, 100, 1000 gibi numaralara izin verir, ancak 1'i
yasaklar. |
| Harf veya Rakam |
[0-9a-zA-Zа-яА-Я] |
[0-9a-zA-Zа-яА-Я] - her türlü tek karaktere izin verir
[0-9a-zA-Zа-яА-Я]+ - her türlü sözcüğe izin verir |
| Büyük Latin Harf |
[A-Z] |
|
| Küçük Latin Harf |
[a-z] |
|
| Büyük Kiril harf |
[А-Я] |
|
| Küçük Kiril harf |
[а-я] |
|
| Rakam |
[0-9] |
|
| Boşluk |
\s |
|
| |
@ |
Ayrılmıştır. |
Not:
- Normal bir ifadeyi normal karakter olarak kullanmak için önüne
ters eğik çizgi koyun. Örneğin, [t-v]x+, tx, txx, txx vb. ux,
uxx vb., ancak \[t-v\]x+ [t-v]x, [t-v]xx, [t-v]xxx vb. yerine
geçer.
- Normal ifadeleri gruplamak için parantez kullanın. Örneğin,
(a|b)+|c, c veya abbbaaabbb, ababab vb. kombinasyonların yerine
geçer (sıfır olmayan uzunluğa sahip, içinde herhangi bir sırada
istenen sayıda a ve b olan bir sözcük); a|b+|c ise a, c ve b, bb,
bbb vb. yerine geçer.
Örnekler
Tarihler için normal ifadeler:
Bir günü belirten bir sayı bir basamaktan (1, 2 vb.) veya iki
basamaktan (02, 12) oluşabilir, ancak sıfır olamaz (00 veya 0). Bu
durumda günün normal ifadesi şu şekilde görünmelidir:
((|0)[1-9])|([1|2][0-9])|(30)|(31).
Bu durumda ayın normal ifadesi şu şekilde görünmelidir:
((|0)[1-9])|(10)|(11)|(12).
Bu durumda yılın normal ifadesi şu şekilde görünmelidir:
([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).
Geriye tüm bunları birleştirmek ve numaraları nokta ile ayırmak
(1.03.1999 gibi) kalır. Nokta normal bir ifade sembolüdür, bu
nedenle bu öncesinde bir ters eğik çizgi (\) koymanız gerekir. Bu
durumda tam tarihin normal ifadesi şu şekilde görünmelidir:
((|0)[1-9])|([1|2][0-9])|(30)|(31)\.((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9])
E-posta adresleri için normal ifade:
[a-zA-Z0-9_\-\.]+\@[a-z0-9\.\-]+
|