Regular Expression
Lesson Notes
abc… Letters
123… Digits
\d Any Digit
\D Any Non-digit character
. Any Character
\. Period
[abc] Only a, b, or c
[^abc] Not a, b, nor c
[a-z] Characters a to z
[0-9] Numbers 0 to 9
\w Any Alphanumeric character
\W Any Non-alphanumeric character
{m} m Repetitions
{m,n} m to n Repetitions
* Zero or more repetitions
+ One or more repetitions
? Optional character
\s Any Whitespace
\S Any Non-whitespace character
^…$ Starts and ends
(…) Capture Group
(a(bc)) Capture Sub-group
(.*) Capture all
(abc|def) Matches abc or def
++++++++++++++++++++++++++++++++++++
Anahtar kelimeler:
^ : Satır başını ifade eder.
$ : Satır sonunu ifade eder.
\n : Enter karakteri için kullanılır.
\t : Tab karakteri için kullanılır
[…] : Örnek: [aeıioöuü] sadece sesli harfleri bulunur. ‘[]’ karakterleri içerisinde yer alan herhangi bir karaktere uyanları getirir.
[^…] : Örnek: [^aeıioöuü] sadece sessiz harfleri bulunur. ‘[^]’ karakterleri içerisinde yer alan herhangi bir karaktere uymayanları getirir.
. : Yeni satır (\n) karakteri hariç herhangi bir karakteri ifade eder. Tek karakteri
\w : Herhangi bir alfanumeric veya numeric karakteri işaret eder. a..z, A..Z, 0..9
\W : \w’nin tersidir.
\d : \d herhangi numeric karakter.
\D : \d’nin tersi.
\ : bir sonraki karakter özel bir anlam ifade ediyorsa, bu özelliği iptal eder.
\p{isim}: Her türlü "Unicode" kategorideki isimle eşleşir. Örnek olarak, "Ll, Lu, Nd, Z, IsGreek" gibi "Unicode" isimlerle eşleşir.
\P{isim}: Her türlü "Unicode" kategoride olmayan isimle eşleşir.
Destekleyiciler
? : Bir önceki karakterden bir tane var ise bulur.
+ : Bir önceki karakterden bir ve birden fazla var ise.
* : Bir önceki karakterden 0 ve birden fazla var ise.
{n} : Bir önceki karakterden n adet olanları bulur.
(…) : Gruplama işlemi yapar. ‘()’ içerisine yazılanlar grup olarak değerlendirilir.
| : ‘OR’ işlemi için kullanılır, 2 farklı RegEx bu şekilde bağlanabilir.
<> : Bu ifade 3 değişik şekilde kullanılabilir. "<" ifadesi bir kelimenin başına, ">" ifadesi bir kelimenin sonuna, "<>" ifadesi ise direkt olarak bir kelimeye eşlenir.
Opsiyonlar:
i : Büyük küçük harfe duyarlı olmaz.
m : Karakter katarını birden çok satırmış gibi düşünür.
s : Karakter katarını tek satırmış gibi düşünür.
Yer Değiştirme Karakterleri:
$number : Ondalık bir numaraya sahip olan grupla eşleşmiş son alt katarın yerine geçer.
${name} : Bir grupla eşleşmiş son alt katarın yerine geçer.
$$ : Bir "$" işaretinin yerine geçer.
$& : Bütün bir eş kopyasının yerine geçer.
$` : Bütün bir katar girdisinin yerine eşleşmeden önce geçer.
$' : Bütün bir katar girdisinin yerine eşleşmeden sonra geçer.
$+ : Tutulmuş son grubun yerine geçer.
$_ : Bütün bir katar girdisinin yerine geçer.
+++++++++++++++++++++++++++++++++++++
E-posta deseni: "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"
Telefon numarası deseni: "0\([0-9]{3}\)-[0-9]{3}-[0-9]{2}-[0-9]{2}"
Tarih deseni: "^\d{1,2}\/\d{1,2}\/\d{4}$"
+++++++++++++++++++++++++++++++++++++
Regex sınıfının methodları:
Escape: Meta karakterleri katar içinden çıkarır.
Unescape: “Escape” metoduyla katardan çıkarılmış karakterleri tekrar katar içine alır.
IsMatch: Düzenli ifadenin (regular expression) bir katarla eşleşip eşleşmediğini doğru ya da yanlış olarak (boolean) döner.
Match: Eşleşmiş düzenli ifadeyi (regular expressions) döner.
Matches: Eşleşmiş düzenli ifadeleri (regular expressions) bir liste şeklinde döner.
Replace: Eşleşmiş düzenli ifadeleri (regular expressions) eşleştiği katarla yer değiştirir.
Split: Düzenli ifadeler (regular expressions) ile tanımlanmış katarların dizisini döner.