Normal İfadeler

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

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\.\-]+

1/14/2020 5:26:21 PM


Please leave your feedback about this article