ismetertugral
7/29/2017 - 11:42 AM

Regular Expression

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.