Regex temelleri hızlı referans
Düzenli ifade (regex), metinle eşleşen bir desendir. Her sembole token denir ve desenin davranışını değiştirir. Aşağıdaki sayfa en çok kullanılan tokenleri, sade anlamı ve kopyalayıp deneyebileceğiniz küçük bir örnekle listeler.
| Simge | Anlam | Örnek |
|---|---|---|
| . | Matches any single character except newline. | a.c matches abc, a c |
| * | Matches the preceding token zero or more times. | ab* matches a, abb |
| + | Matches the preceding token one or more times. | ab+ matches ab, abb |
| ? | Makes the preceding token optional (zero or one). | colou?r matches color, colour |
| [] | Character set: matches any one character inside. | [aeiou] matches any vowel |
| [^] | Negated set: matches any character NOT inside. | [^0-9] matches any non-digit |
| \d | Matches any digit (0-9). | \d+ matches 42, 007 |
| \w | Matches any word character (a-z, A-Z, 0-9, _). | \w+ matches hello_1 |
| \s | Matches any whitespace (space, tab, newline). | a\sb matches a b |
| ^ | Anchors the match to the start of a line/string. | ^Hello matches start of string |
| $ | Anchors the match to the end of a line/string. | world$ matches end of string |
| | | Alternation: matches the pattern on either side. | cat|dog matches cat or dog |
| () | Groups a sub-pattern (and captures it). | (ab)+ matches ab, abab |
| {n,m} | Quantifier: match the preceding token n to m times. | a{2,4} matches aa, aaaa |
| (?i) | Inline flag: makes the pattern case-insensitive. | (?i)hello matches HELLO |
Notlar
- Çoğu simge, karakter kümesi [ ] içinde özel anlamını yitirir. Örneğin [] içindeki . yalnızca düz bir noktayla eşleşir.
- Ters bölü (\) kaçış karakteridir: özel bir simgeyi düz karaktere, tersini de yapar.
- Motorlar farklılık gösterir: Python, JavaScript, PCRE ve Golang çoğu simgeyi paylaşır, ancak bayrak ve look-around desteği değişir.
Sık sorulan sorular
- Nokta (.) neyle eşleşir?
- Varsayılan olarak nokta, yeni satır dışındaki herhangi bir tek karakterle eşleşir. Noktanın kendisi için \ ile kaçış yapılmalıdır.
- * ile + arasındaki fark nedir?
- Yıldız * kendinden önceki simgeyle sıfır veya daha fazla kez eşleşir, yani 'ab*' ayrıca 'a' ile de eşleşir. Artı + en az bir kez gerektirir, 'ab' ile eşleşir ama yalnız 'a' ile değil.
- Bir rakam veya kelime karakteriyle nasıl eşleşirim?
- Herhangi bir rakam (0-9) için \d, kelime karakteri (harf, rakam, alt çizgi) için \w kullanın. Olumsuzları \D ve \W'dir.
- ^ ve $ ne işe yarar?
- ^ eşleşmeyi dizinin veya satırın başına; $ sonuna sabitler. Birlikte, ^desen$ tüm dizinin eşleşmesini zorlar.