Skip to content

Instantly share code, notes, and snippets.

@alpgul
Created April 25, 2025 08:19
Show Gist options
  • Save alpgul/009753696c21d7016d0f368fc9e10fd5 to your computer and use it in GitHub Desktop.
Save alpgul/009753696c21d7016d0f368fc9e10fd5 to your computer and use it in GitHub Desktop.
ECMAScript için Düzenli İfade Desen Değiştiricileri (RegExp Modifiers)

ECMAScript için Düzenli İfade Desen Değiştiricileri (RegExp Modifiers)

Kısa Açıklama

Bu öneri, JavaScript'in düzenli ifadeler (regular expressions) için dinamik bayrak (flag) değiştirme yeteneğini genişletmeyi amaçlamaktadır. Geliştiricilere, düzenli ifade desenlerinin alt bölümlerinde farklı arama ve eşleştirme davranışları tanımlama imkanı sağlar.

Örnek Kullanımlar

Örnek 1: Büyük/Küçük Harf Duyarlılığını Kontrol Etme

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab");   // true
re1.test("Ab");   // true
re1.test("aB");   // false

Örnek 2: Kısmi Bayrak Değiştirme

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab");   // true
re2.test("Ab");   // true
re2.test("aB");   // false

Açıklama

Bu örnekler, düzenli ifade içinde bayrakların nasıl dinamik olarak değiştirilebileceğini göstermektedir:

  • (?-i:...) mevcut bayrakları geçici olarak devre dışı bırakır
  • (?i:...) büyük/küçük harf duyarsız eşleştirmeyi etkinleştirir

Faydaları

  1. Daha esnek düzenli ifade tanımlama
  2. Alt desenler için farklı arama davranışları
  3. Karmaşık metin eşleştirme senaryolarında esneklik
  4. Performans optimizasyonu
  5. Kod okunabilirliğini artırma

Referanslar

  • TC39 Proposal: RegExp Modifiers
  • Destekleyen Tarayıcılar: Chrome 125, Edge 125, Firefox 132
  • Öneri Durumu: Stage 4 (Standartlaştırma aşamasında)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment