Berlatih regular expression: re.split() dan re.findall()
Sekarang Anda berkesempatan menulis beberapa regular expression untuk mencocokkan digit, string, dan karakter non-alfanumerik. Lihat terlebih dahulu my_string dengan mencetaknya di IPython Shell, untuk menentukan cara terbaik mencocokkan tiap langkahnya.
Catatan: Penting untuk menambahkan awalan r pada pola regex Anda agar polanya ditafsirkan sesuai yang Anda inginkan. Jika tidak, Anda dapat mengalami masalah terkait urutan escape dalam string. Misalnya, "\n" di Python digunakan untuk menandai baris baru, tetapi jika Anda menggunakan awalan r, itu akan ditafsirkan sebagai raw string "\n" — yaitu karakter "\" diikuti karakter "n" — dan bukan sebagai baris baru.
Modul regular expression re sudah diimpor untuk Anda.
Ingat dari video bahwa sintaksis untuk pustaka regex adalah selalu mengoper pola terlebih dahulu, lalu string kedua.
Latihan ini adalah bagian dari kursus
Pengantar Natural Language Processing di Python
Petunjuk latihan
- Pisahkan
my_stringpada setiap akhir kalimat. Untuk melakukan ini:- Tulis sebuah pola bernama
sentence_endingsuntuk mencocokkan akhir kalimat (.?!). - Gunakan
re.split()untuk memisahkanmy_stringberdasarkan pola tersebut dan cetak hasilnya.
- Tulis sebuah pola bernama
- Temukan dan cetak semua kata yang diawali huruf kapital di
my_stringdengan menulis pola bernamacapitalized_wordsdan menggunakanre.findall().- Ingat pola
[a-z]yang ditunjukkan di video untuk mencocokkan kelompok huruf kecil? Ubah pola tersebut secara tepat untuk mencocokkan kelompok huruf besar.
- Ingat pola
- Tulis sebuah pola bernama
spacesuntuk mencocokkan satu atau lebih spasi ("\s+"), lalu gunakanre.split()untuk memisahkanmy_stringberdasarkan pola ini, dengan tetap mempertahankan semua tanda baca. Cetak hasilnya. - Temukan semua digit di
my_stringdengan menulis pola bernamadigits("\d+") dan menggunakanre.findall(). Cetak hasilnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Write a pattern to match sentence endings: sentence_endings
sentence_endings = r"[___]"
# Split my_string on sentence endings and print the result
print(re.____(____, ____))
# Find all capitalized words in my_string and print the result
capitalized_words = r"[___]\w+"
print(re.____(____, ____))
# Split my_string on spaces and print the result
spaces = r"___"
print(re.____(____, ____))
# Find all digits in my_string and print the result
digits = r"___"
print(re.____(____, ____))