Pelajaran modul (2/4)
Kelas dasar: \d \w \s
Selain karakter literal, regex memberi Anda kelas yang telah ditentukan sebelumnya: pintasan untuk "digit apa pun", "karakter kata apa pun", "spasi apa pun". Mereka adalah yang pertama langkah menuju pola yang benar-benar berguna.
| Kelas | Cocok |
|---|---|
\d | digit (0-9) |
\w | Karakter kata (A-Za-z0-9_) |
\s | spasi putih (spasi, tab, baris baru, dll.) |
\D | TIDAK satu angka |
\W | TIDAK karakter kata |
\S | TIDAK spasi |
Masing-masing cocok dengan satu karakter. Untuk mencocokkan "satu atau lebih karakter"
Anda memerlukan bilangan (+, di modul 2), tetapi kami akan segera menggunakan +
karena "temukan saya semua nomornya" terlalu berguna untuk ditunggu.
Pattern: \d+
Sample: Ho 3 mele, 12 pere e 100 prugne.
^ ^^ ^^^\d+ berarti satu atau lebih digit berurutan: cocok dengan 3, 12 dan
100 sebagai tiga pertandingan terpisah (dengan bendera g).
\w: karakter kata
\w setara dengan [A-Za-z0-9_] (huruf ASCII, angka, garis bawah). Itu
TIDAK menyertakan aksen, huruf Yunani, atau emoji: untuk itu Anda memerlukan Unicode
properti lolos (\p{L}, modul 5).
Pelajari lebih dalam tentang kelas-kelas dasar dan negasi
Kelas yang telah ditentukan sebelumnya \\d, \\w, \\s mempercepat pengkodean. Versi huruf besar (\\D, \\W, \\S) meniadakan himpunan tersebut. Misalnya, \\S+ menangkap blok teks apa pun tanpa spasi (seperti kata utuh termasuk tanda baca).
Mesin menangani \\s dengan mencocokkan tidak hanya spasi standar, tetapi juga tab (\\t) dan karakter baris baru (\\n atau \\r).
Cobalah
Ekstrak setiap urutan digit (angka) yang berurutan dari teks. Gunakan kelas `\\d` dengan pembilang `+`.
Tunjukkan petunjuk
\\d+ menangkap satu atau lebih digit. Dengan bendera g Anda mengumpulkan setiap pertandingan.
Solusi tersedia setelah 3 upaya
Tinjau latihan
Temukan setiap 'kata' dalam teks: rangkaian karakter kata yang berkesinambungan (`\\w+`).
Tunjukkan petunjuk
\\w+ cocok dengan urutan huruf/angka/garis bawah. Tanda baca dilewati.
Solusi tersedia setelah 3 upaya
Tantangan tambahan
Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).
Tunjukkan petunjuk
Gunakan kelas \\s dengan + quantifier untuk menangkap urutan spasi berturut-turut.
Solusi tersedia setelah 3 upaya