Karakterler
| Desen | Eşleşir | Örnek eşleşme |
|---|---|---|
. | Yeni satır hariç herhangi bir karakter | a.c abc, a1c, a-c ile eşleşir |
\d | Herhangi bir rakam [0-9] | \d{3} 123 ile eşleşir |
\D | Rakam olmayan | \D+ abc123 içinde abc ile eşleşir |
\w | Kelime karakteri [a-zA-Z0-9_] | \w+ hello_world ile eşleşir |
\W | Kelime olmayan karakter | \W user@host içinde @ ile eşleşir |
\s | Boşluk (boşluk, sekme, yeni satır) | \s+ kelimeler arasındaki boşluklarla eşleşir |
Niceleyiciler
| Desen | Anlamı | Örnek |
|---|---|---|
* | 0 veya daha fazla (açgözlü) | ab*c ac, abc, abbc ile eşleşir |
+ | 1 veya daha fazla (açgözlü) | ab+c abc, abbc ile eşleşir ancak ac ile değil |
? | 0 veya 1 (isteğe bağlı) | colou?r color ve colour ile eşleşir |
{3} | Tam olarak 3 | \d{3} 123 ile eşleşir ancak 12 ile değil |
{2,5} | 2 ile 5 arası | \w{2,5} ab ile abcde arası eşleşir |
{3,} | 3 veya daha fazla | \d{3,} 123, 1234, 12345 ile eşleşir |
*? | 0 veya daha fazla (tembel) | ".*?" en kısa tırnaklı stringi eşleştirir |
+? | 1 veya daha fazla (tembel) | <.+?> tek bir HTML etiketiyle eşleşir |
Bağlaçlar
| Desen | Anlamı | Örnek |
|---|---|---|
^ | String başlangıcı | ^Merhaba Merhaba dünya ile eşleşir |
$ | String sonu | dünya$ Merhaba dünya ile eşleşir |
\b | Kelime sınırı | \bkedi\b kedi ile eşleşir ancak kediler ile değil |
\B | Kelime olmayan sınır | \Bkedi\B birleşik içinde kedi ile eşleşir |
Gruplar ve Alternasyon
| Desen | Anlamı |
|---|---|
(abc) | Yakalayan grup |
(?:abc) | Yakalamayan grup |
(?<isim>abc) | Adlandırılmış yakalama grubu |
a|b | Alternasyon (veya) |
\1 | Grup 1’e geri referans |
Karakter Sınıfları
| Desen | Eşleşir |
|---|---|
[abc] | a, b veya c’den herhangi biri |
[^abc] | a, b veya c değil |
[a-z] | a’dan z’ye aralık |
İleri Bakışlar ve Geri Bakışlar
| Desen | Tür | Anlamı |
|---|---|---|
(?=foo) | Pozitif ileri bakış | foo takip ediyorsa |
(?!foo) | Negatif ileri bakış | foo takip etmiyorsa |
(?<=foo) | Pozitif geri bakış | foo önceliyorsa |
(?<!foo) | Negatif geri bakış | foo öncelemiyorsa |
Bayraklar
| Bayrak | Ad | Etki |
|---|---|---|
g | Global | Tüm eşleşmeleri bul, sadece ilkini değil |
i | Büyük/küçük harf duyarsız | a, A ve a ile eşleşir |
m | Çok satırlı | ^ ve $ satır başlangıç/sonunu eşleştirir |
s | Dotall | . yeni satır karakterleriyle de eşleşir |
u | Unicode | Tam Unicode eşleştirme |
Açgözlü vs Tembel
Giriş <b>kalın</b> ve <i>italik</i>:
| Desen | Eşleşme | Neden |
|---|---|---|
<.+> | <b>kalın</b> ve <i>italik</i> | Açgözlü |
<.+?> | <b>, </b>, <i>, </i> | Tembel |
Varsayılan davranış açgözlüdür. Tembel yapmak için herhangi bir niceleyiciden sonra ? ekleyin.