Regex başvuru kılavuzu

Adım 1 / 3 33%

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. 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. 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. 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. 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