Düzenli ifadeler
Düzenli ifadeler, bir botun kullanıcı girdisinin biçimini doğrulamasına olanak tanıyan kalıplardır — örneğin, girdinin başka bir şey yerine bir telefon numarası olduğundan emin olmak için.

Düzenli ifade kullanarak karşılaştırma yapmak için, eşleşme türünü "RegEx match" olarak ayarlamanız gerekir.
Düzenli ifadeler, eşleşme için kullanılan değişkenlerde değil, doğrudan tetikleyicide yazılmalıdır!
Veri toplarken kullanıcılar genellikle kendilerinden istenen dışında bir şey girer. İşte bir telefon numarası girişini doğrulamak için tipik bir akış. Kullanıcı geçerli bir telefon numarası girmezse, bot ondan tekrar denemesini isteyecektir.

Telefon numarası giriş bloğunun iki çıkış bağlantısı vardır: biri herhangi bir tetikleyici olmadan, diğeri ise bir telefon numarasını eşleştirmek için düzenli ifade kullanan bir tetikleyiciyle.
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Bu akış, telefon numarası doğrulamasını ele almak için iki bağlantı kullanır:
Birincil bağlantı (geçerli numara)
Tetikleyici: Doğru biçimlendirilmiş bir telefon numarası.
Eylem: Numarayı uygulamaya ekler ve devam eder.
Yedek bağlantı (geçersiz giriş)
Öncelik: Birincil bağlantıdan daha düşük.
Tetikleyici: Geçerli bir telefon numarası olmayan herhangi bir giriş.
Eylem: Kullanıcıyı hata hakkında bilgilendirir ve tekrar denemeye yönlendirir.
Bu, kullanıcıların yalnızca geçerli veri sağladıktan sonra ilerlemesini sağlarken, hatalar hakkında anında geri bildirim almasını da sağlar.
Faydalı düzenli ifadelerin bir listesi:
Sayısal Girdi yalnızca 1 ile başlayan rakamlar: ^[1-9]+[0-9]*$
Sayısal Girdi yalnızca 0 ile başlayan rakamlar: ^[0-9]+[0-9]*$
Kredi kartı numarası: [0-9]{13,16}
Genel telefon numarası: ^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Harfler ve sayılar (Latin): ^[a-zA-Z0-9]+$
Alan adı (ör. abcd.com): ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
URL (ör. abcd.com): (https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*
IPv4: ((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
IPv6: ((^|:)([0-9a-fA-F]{0,4})){1,8}$
Kullanıcı adı (harf ve sayı olabilen 2-20 karakter sınırıyla, ilk karakter bir harf olmalıdır): ^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$
Şifre (Küçük ve büyük Latin harfleri, sayılar): ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$
Güçlü şifre (büyük harf, küçük harf, sayılar/özel karakterler, en az 8 karakter): (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
YYYY-AA-GG biçiminde tarih: [0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01]) GÜNC. Daha sıkı tarih doğrulaması: (19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31)
GG/AA/YYYY biçiminde tarih: (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d
GG.AA.YYYY biçiminde tarih: (0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\d\d
Tam ve kayan noktalı sayılar (ondalık ayırıcı olarak nokta) \-?\d+(\.\d{0,})?
UUID: ^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$
Enlem veya Boylam: -?\d{1,3}\.\d+
GÜNC. E-posta: ^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$
GÜNC. URL ~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]*)?(?:#[^ '\"&]*)?$~i
GÜNC. HH:MM:SS biçiminde saat: formatı ^([0-1]\d|2[0-3])(:[0-5]\d){2}$
GÜNC. Mac-adresi: ([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}
Kullanılabilir çok sayıda düzenli ifade vardır. Bu सूचीde ihtiyacınız olanı bulamazsanız, bir arama motoru kullanmanız iyi bir fikirdir.
Düzenli ifadeleri aşağıdaki gibi web sitelerinde rahatça test edebilirsiniz: https://regex101.com/
Last updated