Örnekten Regex Oluşturucu

Sipariş numarası, fatura referansı veya tarih için elle regex yazmak zahmetli ve hataya açıktır. Tanımak istediğiniz biçimde bir örnek metin yapıştırın: bu araç metni soldan sağa okur, her rakam, büyük harf ve küçük harf dizisini doğru uzunlukta bir karakter sınıfına dönüştürür, noktalama ve sembolleri ise düz karakter olarak bırakır. Başlangıç noktası olarak kullanıp elle iyileştirebileceğiniz, sabitlenmiş bir desen elde edersiniz.

Nasıl çalışır

  1. 1

    Bir örnek girin

    Tanımak istediğiniz biçimi temsil eden bir örnek metni yazın veya yapıştırın, örneğin `Order #12345 placed on 2026-04-16`.

  2. 2

    Deseni oluşturun

    Araç örneği karakter karakter tarar ve aynı türden her karakter dizisini, uzunluğuyla birlikte bir karakter sınıfıyla değiştirir.

  3. 3

    Dökümü okuyun

    Desenin altında bir bileşen listesi her parçayı açıklar; böylece hangi bölümün rakamları, harfleri veya düz metni tanıdığını görürsünüz.

  4. 4

    Kopyalayın ve iyileştirin

    Deseni başlangıç noktası olarak kullanın. Gerçek verilerinizin tüm aralığını kapsaması için sabit uzunlukları veya sınıfları elle ayarlayın.

Desen nasıl oluşturulur

Araç örneği soldan sağa okur. Aynı türden bir karakter dizisiyle karşılaştığında, o dizinin boyutunda bir karakter sınıfı üretir:

  • bir rakam dizisi \d{n} olur; burada n rakam sayısıdır
  • bir büyük harf dizisi A-Z, [A-Z]{n} olur
  • bir küçük harf dizisi a-z, [a-z]{n} olur
  • tek bir boşluk \s olur, birden çok boşluk \s{n} olur
  • diğer her şey (noktalama, semboller, aksanlı veya Latin dışı harfler) kaçışlı düz karakter olarak korunur

Bitmiş desen, yalnızca bir parçayı değil metnin tamamını baştan sona tanıması için ^ ve $ içine alınır.

Örnek

Order #12345 placed on 2026-04-16 örneği için araç şunu üretir:

/^[A-Z]{1}[a-z]{4}\s\#\d{5}\s[a-z]{6}\s[a-z]{2}\s\d{4}\-\d{2}\-\d{2}$/

Order, bir büyük harfin ardından dört küçük harftir; 12345, \d{5} olur; ve 2026-04-16 tarihi \d{4}\-\d{2}\-\d{2} olur.

Ne yapar, ne yapmaz

  • Uzunluklar sabittir. 12345, “bir veya daha fazla” değil, tam olarak beş rakamı tanıyan \d{5} olur. Verilerinizde sayı değişiyorsa {5} yerine elle + veya {3,8} gibi bir aralık koyun.
  • Tek bir örnekten çalışır. Verdiğiniz tek metnin yapısını yansıtır, dolayısıyla birden çok örnekten kendiliğinden genelleme yapamaz. Ona en temsili metni verin.
  • Yalnızca A-Z ve a-z harf sayılır. Aksanlı ve Latin dışı karakterler düz karakter olarak korunur; daha geniş bir kümeyi tanımalarını istiyorsanız onları \w veya \p{L} gibi bir sınıfla değiştirin.
  • Bir regex her şeyi ifade edemez. Dengeli parantezler gibi şeyler, kaç örnek verirseniz verin her regex’in kapsamı dışındadır. İç içe yapılar için desen değil, bir ayrıştırıcı gerekir.

İyi bir iş akışı

  1. Açık ve temsili bir örnekten desen oluşturun.
  2. Uzunluğun değiştiği yerlerde sabit uzunlukları gevşetin ({5}, + veya {3,8} olur).
  3. Deseni, daha büyük bir gerçek metin kümesiyle Regex Test Aracına yapıştırın.
  4. Tanıması gereken her şeyi tanıyıp tanımaması gereken hiçbir şeyi tanımayana kadar ayarlayın.

Sık Sorulan Sorular

Bir tane. Oluşturucu tek bir örnek metni okur ve yapısını yansıtır. Biçiminizi en iyi temsil eden metni seçin, ardından diğer durumlar için deseni elle genişletin.

Araç örneğinizdeki tam karakter sayısını sayar, bu yüzden beş rakam \d{5} olur. Gerçek verilerde sayı değişiyorsa {5} yerine +, * veya {3,8} gibi bir aralık koyun.

Bağlaçlar, desenin metnin tamamını baştan sona tanımasını sağlar. Deseni daha uzun bir metnin içinde aramak istiyorsanız bunları kaldırın.

A-Z ve a-z harflerini harf olarak tanır. Aksanlı, Kiril veya CJK harfleri dahil diğer her karakter düz karakter olarak kalır. Daha fazlasını tanımasını istiyorsanız onu elle \w veya \p{L} gibi bir sınıfla değiştirin.

PCRE, JavaScript, Python ve çoğu motorda değişiklik olmadan çalışan standart sözdizimi (\d, [A-Z], {n}).

İlgili Araçlar

Araç diğer dillerde mevcuttur