EasyREG, örnek metinlerden regex üreten ve ürettiği ifadeleri otomatik olarak test eden açık kaynaklı bir araçtır.
Eşleşmesi gereken örnekleri girersiniz. İsterseniz eşleşmemesi gereken örnekleri de eklersiniz. EasyREG örneklerin ortak yapısını analiz eder, farklı esneklik seviyelerinde regex adayları oluşturur ve en uygun adayı önerir.
- Pozitif ve negatif örneklerle regex üretimi
- Sabit metinlerin ve değişken alanların otomatik ayrılması
- IPv4, IPv6, UUID, e-posta, URL, ISO tarih, sayı ve hexadecimal değer tespiti
strict,balancedveflexibleolmak üzere üç farklı aday- JavaScript, Python ve PCRE2 regex çıktısı
- Tam metin eşleştirme ve metin içinde arama modları
- Named capture desteği
- Her örnek için eşleşme sonucu ve yakalanan alanlar
- Eşleşme başarısı, negatif örnekleri reddetme oranı ve aday puanlama
- Makine tarafından işlenebilir JSON çıktı
Örnekler
↓
Yapı ve alan türü çıkarımı
↓
PatternSpec
↓
Regex üretimi
↓
Doğrulama ve aday seçimi
EasyREG önce regex motorundan bağımsız bir PatternSpec oluşturur. Daha sonra
bu yapı hedef regex diline çevrilir. Böylece aynı analiz sonucu farklı regex
motorları için tekrar kullanılabilir.
Depoda kullanılacak Rust sürümü rust-toolchain.toml dosyasında tanımlıdır.
cargo run -p easyreg-cli -- infer `
-p "INV-2026-00127" `
-p "INV-2025-84621" `
-p "INV-2026-18342" `
-n "ORD-2026-00127" `
-n "INV-26-127" `
-n "INV-2026-ABCDE"Bu örnek için önerilen JavaScript çıktısı:
^(?:INV-(?<field_1>[0-9]{4})-(?<field_2>[0-9]{5}))$| Seçenek | Açıklama |
|---|---|
-p, --positive |
Eşleşmesi gereken örnek. Birden fazla kullanılabilir. |
-n, --negative |
Eşleşmemesi gereken örnek. Birden fazla kullanılabilir. |
--mode full |
Metnin tamamını eşleştirir. Varsayılan moddur. |
--mode search |
Metin içinde eşleşen bir bölüm arar. |
--compact |
JSON çıktısını tek satır olarak verir. |
| Paket | Görevi |
|---|---|
easyreg-core |
Temel veri modelleri ve PatternSpec |
easyreg-detectors |
Alan tür tespiti |
easyreg-inference |
Örneklerden yapı çıkarımı |
easyreg-dialects |
Regex dillerine çeviri |
easyreg-validation |
Eşleşme ve doğrulama |
easyreg-engine |
Analiz akışı, puanlama ve öneri |
easyreg-cli |
CLI uygulaması |