Ana içeriğe geç
Modül 5 · Ders 3 ders 4Kurstaki 19/32~8 min
Modül dersleri (3/4)

Olumsuzluk: `[^...]`

Parantez içindeki ilk karakter olarak ^ düzeltme işaretinin yerleştirilmesi tersine çevirir sınıfı: listelenenler hariç herhangi bir karakterle eşleşir.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] ünsüzleri, boşlukları, noktalama işaretlerini, rakamları ve görünen her şeyi eşleştirir sesli harf değildir.

Tipik örnekler

  • [^\s] -- herhangi bir "boşluksuz" karakter (\S'ye eşdeğer).
  • [^0-9] -- rakam olmayan herhangi bir şey (\D ile eşdeğerdir).
  • [^"]+ -- "çift tırnak olmayan bir karakter dizisi" (kullanışlı tırnak işaretleri arasındaki içeriği çıkarın).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

([^"]+) grubu tırnak işaretleri arasındaki her şeyi yakalar durdurarak bir sonraki "'den önce: bu, açgözlü-tembel sorunu.

Olumsuzluk ve alternatif joker karakterler

Olumsuzlanan [^...] sınıfı, listelenen kümenin parçası OLMAYAN tam olarak bir karakter tüketir. Sonsuz geri izleme döngülerinin neden olduğu ReDoS'u önleyerek motorun kritik sınırlayıcıları aşmasını önleyen güçlü bir araçtır.

Deneyin

Egzersiz#regex.m5.l3.e1
Denemeler: 0Yükleniyor…

Her dizenin içeriğini, tırnak işaretlerini yakalamadan, çift tırnaklar arasında çıkarın.

Düzenleyici yükleniyor…
İpucu göster

.+'yı [^"]+ ile değiştirin: bu şekilde eşleşme bir sonraki alıntıda durur.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#regex.m5.l3.e2
Denemeler: 0Yükleniyor…

YALNIZCA ünsüzlerden oluşan her kelimeyi bulun (sesli harf yok, rakam yok, sembol yok).

Düzenleyici yükleniyor…
İpucu göster

Parantezlerin içinde sesli harf olumsuzlamayı \\W (kelime dışı) ve \\d (rakamlar) ile birleştirebilirsiniz.

3 denemeden sonra çözüm mevcut

Ek zorluk

Egzersiz#regex.m5.l3.e3
Denemeler: 0Yükleniyor…

Bir veya daha fazla karakterden oluşan dizileri, boşlukları ve virgülleri açıkça hariç tutarak eşleştirin.

Düzenleyici yükleniyor…
İpucu göster

+ niceleyiciyle birlikte [^\\s,] kullanın.

3 denemeden sonra çözüm mevcut