Regex Cheat Sheet
Canlı desen testi ve tıkla-kopyala örnekleri ile etkileşimli normal ifade referansı.
Canlı Tester
Anchors
| Desen | Açıklama | |
|---|---|---|
| ^ | Start of string / line | |
| $ | End of string / line | |
| \b | Word boundary | |
| \B | Non-word boundary | |
| \A | Start of string only | |
| \Z | End of string only |
Quantifiers
| Desen | Açıklama | |
|---|---|---|
| * | 0 or more times | |
| + | 1 or more times | |
| ? | 0 or 1 time (optional) | |
| {n} | Exactly n times | |
| {n,} | n or more times | |
| {n,m} | Between n and m times | |
| *? | Lazy 0 or more | |
| +? | Lazy 1 or more |
Character Classes
| Desen | Açıklama | |
|---|---|---|
| . | Any character except newline | |
| \d | Digit [0-9] | |
| \D | Non-digit | |
| \w | Word char [a-zA-Z0-9_] | |
| \W | Non-word character | |
| \s | Whitespace | |
| \S | Non-whitespace | |
| [abc] | Character set — a, b, or c | |
| [^abc] | Negated set — not a, b, or c | |
| [a-z] | Character range |
Groups & Alternation
| Desen | Açıklama | |
|---|---|---|
| (abc) | Capturing group | |
| (?:abc) | Non-capturing group | |
| (?<name>abc) | Named capturing group | |
| (?=abc) | Positive lookahead | |
| (?!abc) | Negative lookahead | |
| (?<=abc) | Positive lookbehind | |
| (?<!abc) | Negative lookbehind | |
| a|b | Alternation — a or b |
Flags
| Desen | Açıklama | |
|---|---|---|
| g | Global — find all matches | |
| i | Case-insensitive | |
| m | Multiline — ^ and $ match line boundaries | |
| s | Dotall — . matches newline too | |
| u | Unicode mode | |
| y | Sticky — match at exact position |
Common Patterns
| Desen | Açıklama | |
|---|---|---|
| ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$ | Email address | |
| https?:\/\/[\w\-._~:/?#[\]@!$&'()*+,;=%]+ | URL (http/https) | |
| ^\+?[1-9]\d{1,14}$ | Phone number (E.164) | |
| ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ | Date (YYYY-MM-DD) | |
| ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$ | IPv4 address | |
| ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ | UUID v4 | |
| ^#(?:[0-9a-fA-F]{3}){1,2}$ | Hex color code | |
| ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$ | Strong password (min 8 chars, upper+lower+digit) |
Bir deseni testerleyiciye yüklemek için tıklayın
Bu araç hakkında
Düzenli ifadeler, programlama, veri işleme, metin analizi ve sayısız uygulamada kullanılan güçlü bir desen eşleştirme dilidir. Regex öğrenmek kısa sözdizimi ve çok sayıda özel karakterler nedeniyle bunaltıcı görünebilir, ancak temel bilgileri——çapalar, niceleyiciler, karakter sınıfları, gruplar ve lookaround'lar——anlamak karmaşık metin sorunlarını zarifçe çözmek için yeteneği açar. Bu Regex El Kitabı, en temel desenleri ve kavramları etkileşimli bir referansta bir araya getiriyor.
Kategori tarafından gruplanmış seçili desenleri ve kavramları basitçe tarayın: çapalar (^, $, \b), niceleyiciler (*, +, ?, {n,m}), karakter sınıfları ([...], \d, \s), gruplar ve yakalaması (..., ?:...), ve lookaround'lar (pozitif ve negatif lookaheads ve lookbehinds). Canlı desen test cihazı, kendi test dizenizi ve regex'i girmenize ve eşleşmeleri gerçek zamanlı olarak vurgulanmış şekilde görmenize olanak tanır. Herhangi bir deseni tek tıklamayla kopyalayın ve doğrudan kodunuza veya regex hata ayıklama aracınıza yapıştırın.
Sözdiziminde hızlı bir tazeleme yapmanız gerektiğinde bu aracı yer imlerine ekleyin. E-posta adreslerini doğrulayıp, günlük dosyalarını ayrıştırıp, HTML'den veri çıkartıp, karışık dizeleri temizleyip veya kod arayıp, düzenli ifadeler vazgeçilmezdir. Gösterilen desenler çoğu dille (JavaScript, Python, Java, Go, vb.) uyumludur, ancak bazı gelişmiş özellikler uygulamalar arasında biraz farklılık gösterir.
Sıkça Sorulan Sorular
Kod Uygulaması
import re
# Common regex patterns
email_pattern = r'^[w.-]+@[w.-]+.[a-zA-Z]{2,}$'
url_pattern = r'https?://[w-._~:/?#[]@!$&'()*+,;=%]+'
ipv4_pattern = r'^(?:(?:25[0-5]|2[0-4]d|[01]?dd?).){3}(?:25[0-5]|2[0-4]d|[01]?dd?)$'
# Test email
email = "user@example.com"
if re.match(email_pattern, email):
print(f"{email} is valid")
# Find all matches
text = "Contact us at info@example.com or support@test.org"
emails = re.findall(r'[w.-]+@[w.-]+.[a-zA-Z]{2,}', text)
print("Found emails:", emails)
# Named groups
date_text = "Today is 2024-03-15"
match = re.search(r'(?P<year>d{4})-(?P<month>d{2})-(?P<day>d{2})', date_text)
if match:
print(f"Year: {match.group('year')}, Month: {match.group('month')}")
# Substitution
result = re.sub(r's+', ' ', "hello world foo").strip()
print(result) # "hello world foo"Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.