Lompati ke konten utama
Modul 5 · Pelajaran 3 dari 419/32 dalam kursus~8 min
Pelajaran modul (3/4)

Negasi: `[^...]`

Menempatkan tanda sisipan ^ sebagai karakter pertama di dalam tanda kurung membalikkan kelas: cocok dengan karakter apa pun kecuali yang tercantum.

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

[^aeiou] cocok dengan konsonan, spasi, tanda baca, angka\u2026 segala sesuatu yang adalah bukan vokal.

Contoh tipikal

  • [^\s] -- karakter "bukan spasi" apa pun (setara dengan \S).
  • [^0-9] -- segala sesuatu yang bukan angka (setara dengan \D).
  • [^"]+ -- "urutan karakter yang bukan tanda kutip ganda" (berguna untuk ekstrak konten di antara tanda kutip).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

Grup ([^"]+) menangkap segala sesuatu di antara tanda kutip berhenti sebelum " berikutnya: ini adalah trik klasik untuk menghindari masalah serakah vs malas.

Negasi dan wildcard alternatif

Kelas yang dinegasikan [^...] menggunakan tepat satu karakter yang BUKAN bagian dari kumpulan yang terdaftar. Ini adalah alat yang ampuh untuk mencegah mesin berjalan melewati pembatas kritis, menghindari ReDoS yang disebabkan oleh loop backtracking yang tak terbatas.

Cobalah

Latihan#regex.m5.l3.e1
Upaya: 0Memuat…

Ekstrak konten setiap string di antara tanda kutip ganda, tanpa mengambil sendiri tanda kutipnya.

Memuat editor…
Tunjukkan petunjuk

Ganti .+ dengan [^"]+: dengan cara ini kecocokan berhenti pada kutipan berikutnya.

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#regex.m5.l3.e2
Upaya: 0Memuat…

Temukan setiap kata HANYA terdiri dari konsonan (tanpa vokal, tanpa angka, tanpa simbol).

Memuat editor…
Tunjukkan petunjuk

Di dalam tanda kurung Anda dapat menggabungkan negasi vokal dengan \\W (bukan kata) dan \\d (digit).

Solusi tersedia setelah 3 upaya

Tantangan tambahan

Latihan#regex.m5.l3.e3
Upaya: 0Memuat…

Cocokkan urutan satu karakter atau lebih, secara eksplisit tidak termasuk spasi dan koma.

Memuat editor…
Tunjukkan petunjuk

Gunakan [^\\s,] dengan + pembilang.

Solusi tersedia setelah 3 upaya