Regex başvuru kılavuzu
Bir regex varyantı seçin
Kullandığınız motorla başlayın. Başvuru, bu seçime uymayan söz dizimini gizler.
Koda yapıştırmadan önce yaygın düzenli ifade söz dizimini karşılaştırmak için bu etkileşimli başvuruyu kullanın. JavaScript, PCRE2/PHP, Python re, .NET veya tüm motorlar görünümünü seçin, sonra bir konu seçip gösterilen girdilerde arama yapın. Bir token bir motorda derlenip diğerinde reddedilebileceği veya başka anlama gelebileceği için başvuru her aileye özgü söz dizimini belirtir. Arama ve kopyalama tarayıcıda yapılır; bu sayfa metniniz üzerinde kalıp çalıştırmaz.
Regex başvuru kılavuzu nasıl kullanılır
-
1
Bir motor seçin
JavaScript, PCRE2/PHP, Python re, .NET ile başlayın ya da hepsini karşılaştırın. Odaklı görünüm, seçilen motor için geçerli olmayan girdileri atlar.
-
2
Bir konu seçin
Çapaları, karakter sınıflarını, niceleyicileri, grupları, lookaround ifadelerini, yaygın kalıp biçimlerini veya bayrak ve seçenekleri açın.
-
3
Yerel olarak arayın ve kopyalayın
Tokenleri ve açıklamaları doğrudan sayfada arayın, ardından kopyalamak için bir token seçin. Arama metni sunucuya gönderilmez ve URL’ye eklenmez.
-
4
Gerçek runtime içinde doğrulayın
Son ifadeyi derlemek ve test etmek için projenin motorunu, bayraklarını ve API’sini kullanın. Bu başvuru söz dizimini açıklar; üretim verisini doğrulamaz.
Uyumluluk önemlidir
Düzenli ifadeler tek bir evrensel dil değildir. Bu başvuru, benzer görünen ama motorlar arasında temiz biçimde taşınmayan söz dizimini ayırır.
| Özellik | JavaScript RegExp | PCRE2 / PHP | Python re |
.NET |
|---|---|---|---|---|
| Mutlak başlangıç | \A yok |
\A |
\A |
\A |
| Mutlak son | \z yok |
\z |
\Z |
\z |
Unicode özelliği \p{L} |
u veya v modu kullanın |
Desteklenir | Yerleşik re içinde yoktur |
Desteklenir |
| Adlandırılmış yakalama | (?<name>...) |
(?<name>...) veya (?P<name>...) |
(?P<name>...) |
(?<name>...) |
| Adlandırılmış geri başvuru | \k<name> |
\k<name> veya (?P=name) |
(?P=name) |
\k<name> |
| Genel eşleşme | g bayrağı ve eşleştirme API’si |
preg_match_all gibi tekrarlı API |
finditer gibi tekrarlı API |
Matches gibi tekrarlı API |
\d ve \w özel dikkat ister. JavaScript içinde \d, ASCII rakamları 0-9 olarak kalır; \w ise u eklense bile esas olarak ASCII sözcük karakterleridir. Diğer motorlar moda ve yapılandırmaya göre Unicode kuralları uygulayabilir. Unicode davranışı önemliyse gereken özellik veya sınıfı açıkça yazıp test edin.
Çapalar ve sınırlar
| Token | İfade ettiği şey | Taşınabilirlik notu |
|---|---|---|
^ |
Girdinin veya çok satırlı modda bir satırın başlangıcı | Dört ailenin tümünde vardır. |
$ |
Girdinin veya çok satırlı modda bir satırın sonu | Dördünde de vardır; son satır sonu ayrıntıları değişir. |
\b |
Sözcük sınırı | Sözcük karakteri sayılan şey motora ve moda bağlıdır. |
\A |
Mutlak metin başlangıcı | PCRE2, Python ve .NET; JavaScript değil. |
\z |
Mutlak metin sonu | PCRE2 ve .NET; Python \Z kullanır. |
\Z |
Python içinde metin sonu | PCRE2 ve .NET son satır sonundan önce de eşleşebilir; mutlak son için orada \z kullanın. |
Gruplar ve lookaround ifadeleri
| Token | Anlamı | Önemli sınır |
|---|---|---|
(abc) |
Yakalama grubu | Dört ailenin tümünde vardır. |
(?:abc) |
Yakalamayan grup | Dört ailenin tümünde vardır. |
(?<name>abc) |
Adlandırılmış grup | JavaScript, PCRE2 ve .NET söz dizimi. |
(?P<name>abc) |
Adlandırılmış grup | Python söz dizimi; PCRE2 de kabul eder. |
(?=abc) / (?!abc) |
Pozitif / negatif ileri bakış | Dört ailenin tümünde vardır. |
(?<=abc) / (?<!abc) |
Pozitif / negatif geri bakış | Dördü de destekler, ancak izin verilen uzunluklar farklıdır. |
Geri bakış yaygın bir taşınabilirlik tuzağıdır. Python re sabit genişlikli geri bakış ister. JavaScript desteği dağıttığınız runtime’a bağlıdır; yalnızca bu başvurudaki satıra güvenmek yerine tam kalıbı desteklediğiniz en eski runtime’da test edin.
Kalıp biçimleri, tam doğrulayıcılar değil
Yaygın kalıp girdileri kasten biçimleri tarif eder. Örneğin ^\d{4}-\d{2}-\d{2}$, 2026-99-99 değerini kabul eder; e-posta biçimindeki basit bir kalıp da e-posta adresi standardının tamamını uygulayamaz. İlk biçim denetiminden sonra tarihleri, URL’leri ve yapılandırılmış tanımlayıcıları doğru kitaplıkla ayrıştırın.
| Biçim | Örnek kalıp | Kanıtlamadığı şey |
|---|---|---|
| İşaretli ondalık | ^-?\d+(?:\.\d+)?$ |
Yerel ondalık işaretleri, gruplama, sayısal aralık veya hassasiyet. |
| E-posta biçimli metin | ^[\w.+-]+@[\w-]+\.[\w.-]+$ |
Teslim edilebilir veya standarda tam uygun e-posta adresi. |
| HTTP(S) URL biçimli metin | ^https?://\S+$ |
Güvenli, ayrıştırılabilir veya erişilebilir URL. |
| ISO tarih biçimi | ^\d{4}-\d{2}-\d{2}$ |
Gerçek takvim tarihi. |
| ASCII slug karakterleri | ^[A-Za-z0-9_-]+$ |
Uygulamanın harf büyüklüğü, ayırıcı veya ayrılmış sözcük kuralları. |
Bayraklar ve seçenekler
Ana bilgisayar API’sini kontrol etmeden bayrak kopyalamayın. JavaScript /pattern/g yazar, Python re.I veya re.X geçirir, .NET RegexOptions kullanabilir, PCRE2/PHP ise yaygın olarak ayırıcılar ve sondaki değiştiriciler kullanır. g, JavaScript genel eşleşme bayrağıdır, PCRE2 değiştiricisi değildir; tekrarlı PCRE2 eşleşmeleri genellikle PHP API’siyle yönetilir. Genişletilmiş mod (x) PCRE2, Python ve .NET içinde vardır, ancak JavaScript bayrağı değildir.
Sık Sorulan Sorular
Hayır. Bu, tarayıcıda yerel arama ve kopyalama denetimleri olan bir söz dizimi başvurusudur. Kalıpları derlemek ve temsili girdileri test etmek için regex test aracı ile uygulamanızın runtime’ını kullanın.
Tanıdık görünen bazı tokenler taşınabilir değildir. Örneğin Python yerleşik re, adlandırılmış gruplar için (?P<name>…) kullanır, JavaScript (?<name>…) kullanır ve JavaScript mutlak çapa \A ile \z değerlerini desteklemez.
Hayır. JavaScript içinde \d ASCII rakamlarıdır, \w ise u bayrağıyla bile esas olarak ASCII sözcük karakterleridir. Diğer motorların Unicode modları ve seçenekleri farklıdır; veriniz için gereken davranışı test edin.
Bunları yalnızca hızlı biçim denetimleri olarak görün. Bir e-posta adresinin teslim edilebilir olduğunu, URL’nin güvenli veya erişilebilir olduğunu ya da tarihin takvimde var olduğunu kanıtlamazlar. Üretim kuralları için amaca uygun bir ayrıştırıcı veya doğrulayıcı kullanın.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
JSON Biçimlendirici
JSON metnini 2 veya 4 boşlukla okunabilir hale getirmek, kompakt çıktıya küçültmek ya da sonucu kopyalamadan önce söz dizimini hızlıca kontrol etmek için yapıştırın.
Renk Paleti Jeneratörü
Temel bir HEX renginden monokromatik, analog, tamamlayıcı, triadik veya tetradik paletler oluşturun ve kopyalamaya hazır CSS değişkenleri alın.
İkiliden Sekizliye Dönüştürücü
Bitleri üçer üçer gruplayarak ikiliyi sekizliye dönüştürün. Unix izinleri, eski sistemler ve kompakt sayısal gösterim için yararlıdır.
Gradyan Duvar Kağıdı Oluşturucu
Dizüstü bilgisayar, telefon veya Zoom arka planları için bulanık üç renkli gradyan duvar kağıtları oluşturun. Açıyı ve bulanıklığı rastgele belirleyin ya da elle ayarlayın.
HEX Renk Seçici
HEX rengi seçin veya girin; RGB, HSL, yaklaşık CMYK, bağıl parlaklık ve beyaz-siyah kontrast oranlarını görün.