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

04.03.2022 7:13:29

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.