Normal Ifadeler

Aşağıdaki tabloda, özel bir dil için sözlük oluşturmada kullanılabilecek normal ifadeler listelenmiştir.

Öğ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" 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"i yasaklar

Veya | 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]
@ Ayrılmıştır.

Not:

  1. 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'in vb. yerine geçerken, \[t-v\]x+ [t-v]x, [t-v]xx, [t-v]xxx'in vb. yerine geçer.
  2. 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

Üç sütunlu bir tablo tanıttığınızı düşünün: doğum tarihleri, adlar ve e-posta adresleri. Bu durumda, Veriler ve Adresler şeklinde iki yeni dil oluşturabilir, bunlar için aşağıdaki standart ifadeleri belirleyebilirsiniz.

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]).

Şimdi tek yapmamız gereken bunların hepsini birleştirmek ve numaraları nokta ile ayırmaktır (örn. 1.03.1999). 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\.\-]+

11/2/2018 4:20:00 PM


Please leave your feedback about this article