İçeriğe geç
🛠️ToolsShed

Regex Cheat Sheet

Canlı desen testi ve tıkla-kopyala örnekleri ile etkileşimli normal ifade referansı.

Canlı Tester

Anchors

DesenAçıklama
^Start of string / line
$End of string / line
\bWord boundary
\BNon-word boundary
\AStart of string only
\ZEnd of string only

Quantifiers

DesenAçı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

DesenAçıklama
.Any character except newline
\dDigit [0-9]
\DNon-digit
\wWord char [a-zA-Z0-9_]
\WNon-word character
\sWhitespace
\SNon-whitespace
[abc]Character set — a, b, or c
[^abc]Negated set — not a, b, or c
[a-z]Character range

Groups & Alternation

DesenAçı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|bAlternation — a or b

Flags

DesenAçıklama
gGlobal — find all matches
iCase-insensitive
mMultiline — ^ and $ match line boundaries
sDotall — . matches newline too
uUnicode mode
ySticky — match at exact position

Common Patterns

DesenAçı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.