Sık Kullanılan Regex Patternları
Kullandığım regular expression patternlarını sizlerle paylaşacağım. Böyle hazır ifadelere kolayca ulaşıp kullanmak çok önemlidir :)
- IPv4 Regex
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
- IPv6 Regex
^([0–9A-Fa-f]{0,4}:){2,7}([0–9A-Fa-f]{1,4}$|((25[0–5]|2[0–4][0–9]|[01]?[0–9][0–9]?)(\.|$)){4})$
- Sayı Regex
^[0–9]+$
- Saat Regex (HH:MM)
^([01]?[0-9]|2[0-3]):[0-5][0-9]$
- Tarih Regex (dd/mm/yyyy)
^(0?[1–9]|[12][0–9]|3[01])([ \/\-])(0?[1–9]|1[012])\2([0–9][0–9][0–9][0–9])(([ -])([0–1]?[0–9]|2[0–3]):[0–5]?[0–9]:[0–5]?[0–9])?$
Bu bölümde de yukarda paylaştığım regexleri nasıl oluşturduğumdan bahsedeceğim. Öncelikle en çok kullanılan karakterlerden başlayalım.
-
Aralık belirtirken kullanırız
*
Hiç kullanılmayacağını veya birden fazla tekrarlı kullanılacağını belirtirken kullanırız
[
Karakter kümesini açarken kullanılırız
]
Karakter kümesini kapatırken kullanılırız
{
Tekrar sayısı kümesi açarken kullanılırız
}
Tekrar sayısı kümesi kapatırken kullanılırız
^
Tersi anlamını vermek için kullanırız
\
Özel karakterlerden birini regex kalıbımızın içinde kullanacağımız zaman bu karakter ile desteklememiz lazım (örnek: \- \* \\ gibi)
?
0 veya 1 kez tekrarlı kullanım yapacağımız zaman kullanırız
$
Satır sonunu belirtmek için kullanırız
|
veya anlamını katmak için kullanırız
\n
satır sonu belirtmek için kullanırız
\r
satır kesme belirtmek için kullanırız
\t
sekme boşluk belirtmek için kullanırız
\b
kelime sınırı belirtmek için kullanırız
\W
Sözcük olmayan herhangi bir karakterle aynı anlama gelir.
\s
Herhangi bir boşluk karakteriyle aynı anlama gelir.
\S
Boşluk olmayan herhangi bir karakterle aynı anlama gelir.
\d
Rakamlarla (digit) aynı anlama gelir.
\D
Rakam olmayanlarla aynı anlama gelir.
Yazdığım regex’leri https://regex101.com/ adresinden deneyebilirsiniz. Hatta kendiniz istediğiniz format için regex’ler oluşturabilirsiniz.