RegEx Python: Panduan Regular Expressions untuk Pemula

RegEx memungkinkan kamu menentukan pola pencarian kompleks dalam teks. Berikut panduang lengkapnya untuk pemula!
RevoU Staff
August 25, 2023
5
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

RegEx Python, atau Regular Expressions, adalah sistem yang memungkinkan pencocokan dan manipulasi teks dengan menggunakan pola yang ditentukan.

RegEx Python menjadi salah satu alat yang dinamis dan serbaguna dalam analisis data.

Dengan kemampuan untuk mencocokkan, mencari, dan memanipulasi teks, RegEx membuka pintu ke dunia analisis data yang lebih canggih dan efisien.

Dalam artikel ini, kita akan memahami RegEx Python, menjelajahi potensinya, dan membongkar cara-cara untuk mengintegrasikannya ke dalam alur kerja sehari-hari. Yuk, simak!

Apa itu Regular Expressions (RegEx) di Python?

Regular Expressions atau RegEx Python adalah adalah alat yang digunakan untuk mencocokkan, mencari, mengganti, dan memanipulasi teks berdasarkan pola tertentu.

RegEx memungkinkan kamu menentukan pola pencarian kompleks dalam teks yang bisa mencakup karakter spesifik, kelompok karakter, urutan, frekuensi, dan banyak lagi.

Sebagai data analyst, kamu tentu sering berhadapan dengan data teks yang besar dan kompleks. Mengetahui cara menggunakan Regular Expression Python membantu kamu membersihkan dan mengolah data tersebut dengan cepat. Misalnya, jika kamu ingin menemukan semua alamat e-mail dalam dokumen atau mengganti format tanggal dalam teks, kamu bisa melakukannya dengan mudah menggunakan RegEx.

Namun, RegEx bukan hanya tentang mencari dan mengganti teks. Alat ini juga berfungsi dalam berbagai aspek analisis data, mulai dari validasi input data sampai pengolahan log file.

Fungsi RegEx Python

Dalam RegEx Python, ada beberapa fungsi utama yang sering digunakan untuk berbagai keperluan, termasuk membantu dalam pencarian, penggantian, dan manipulasi teks sesuai kebutuhan:

  • Fungsi re.search: fungsi ini digunakan untuk mencari pola dalam teks. Jika pola ditemukan, fungsi akan mengembalikan objek yang berisi detail pencocokan. Misalnya, kamu bisa menggunakan re.search untuk menemukan kata pertama yang cocok dengan pola tertentu dalam string.
  • Fungsi re.findall: re.findall akan mengembalikan daftar semua kemunculan pola dalam teks, bukan hanya yang pertama. Fungsi ini berguna jika kamu ingin menemukan semua kemunculan suatu pola dalam dokumen.
  • Fungsi re.match: re.match mirip dengan re.search, tetapi hanya mencocokkan pola di awal string. Jika pola tidak ditemukan di awal string, fungsi ini akan mengembalikan None.
  • Fungsi re.sub: re.sub dipakai untuk mengganti teks. Kamu bisa mengganti semua kemunculan pola dalam string dengan teks lain. Misalnya, kamu bisa mengganti semua tanggal dalam format lama dengan format baru.
  • Fungsi re.split: fungsi ini memungkinkan kamu membagi string menjadi list berdasarkan pola yang diberikan. re.split bisa berguna dalam membersihkan dan mempersiapkan data untuk analisis lebih lanjut.
  • Fungsi re.compile: dengan fungsi ini, kamu bisa mengkompilasi pola RegEx menjadi objek RegEx. Hal ini memungkinkan kamu menggunakan pola yang sama dalam banyak operasi pencarian, sehingga kode menjadi lebih efisien.

Sintaks dan Struktur Dasar dalam RegEx

Sintaks RegEx Python merujuk pada struktur dan aturan yang digunakan dalam menulis ekspresi reguler di Python. Dengan menggunakan modul re, kamu dapat menerapkan berbagai fungsi RegEx untuk mengolah data teks sesuai kebutuhan.

Sintaksnya sendiri mencakup berbagai struktur. Berikut struktur dasar dalam RegEx Python yang membantu dalam pencocokan pola teks kompleks:

  • Karakter biasa: karakter seperti huruf, angka, dan simbol digunakan untuk mencocokkan teks yang sama dalam string.
  • Metakarakter: ini adalah karakter khusus yang memiliki makna khusus dalam RegEx, termasuk:
  • Escape sequences: karakter khusus yang dipakai untuk mencocokkan jenis karakter tertentu, seperti \d untuk digit, \w untuk karakter alfanumerik, dan \s untuk spasi.
  • Quantifier: digunakan untuk menentukan berapa kali suatu bagian dari pola harus muncul, seperti *, +, ?, dan {}.
  • Pengelompokan dan pilihan: tanda kurung () digunakan untuk mengelompokkan bagian dari pola, dan tanda | (pipa) digunakan untuk mencocokkan salah satu dari beberapa pola.
  • Flags: beberapa flags berfungsi untuk mengubah perilaku pencocokan, seperti re.I untuk pencocokan yang tidak peka huruf besar/kecil dan re.M untuk mode multi-baris.

Cara dan Contoh Menggunakan RegEx Python

Berikut cara menggunakan RegEx dalam Kode Python:

  • Impor modul: pertama, kamu perlu mengimpor modul re dengan menggunakan import re.
  • Tentukan pola: selanjutnya, tentukan pola yang ingin kamu cocokkan. Misalnya, kamu bisa mencari semua digit dengan pola '\d+'.
  • Gunakan fungsi RegEx: pakai fungsi seperti re.search, re.findall, atau lainnya dengan pola yang telah ditentukan. Misalnya, result = re.search('\d+', '1234').
  • Proses hasil: hasil dari fungsi RegEx bisa diproses lebih lanjut. Misalnya, jika kamu menggunakan re.search, kamu bisa mendapatkan teks yang cocok dengan result.group().

{{COMPONENT_IDENTIFIER}}

Berikut contoh penggunaanya:

Mencari kata spesifik

Contoh di atas mencari kata "kucing" dalam string. Jika kata tersebut ditemukan, layar akan menampilkan pesan bahwa kata tersebut ditemukan.

Mencari semua e-mail dalam teks

Pada contoh di atas, kita menggunakan pola khusus untuk mencocokkan alamat e-mail. Tanda @ pada pola berfungsi sebagai patokan utama dalam mencari alamat e-mail.

Dengan menggunakan \b di awal dan akhir pola, kita memastikan pencocokan dimulai dan diakhiri sebagai kata utuh, bukan bagian dari kata lain.

Tanda + setelah kurung siku menandakan kita ingin mencocokkan satu atau lebih karakter yang sesuai dengan pola di dalam kurung siku sampai kita menemukan karakter berikutnya dalam pola, yaitu @.

Setelah tanda @, pola dilanjutkan dengan pencocokan karakter alfanumerik dan titik, hingga kita menemukan tanda titik (.). Setelah tanda titik, kita mencocokkan karakter huruf dengan panjang yang ditentukan oleh {2,} yang berarti dua karakter atau lebih.

Dengan demikian, kita berhasil mengekstrak semua alamat e-mail dari teks yang diberikan.

Mengganti format tanggal

Di sini, \d mencocokkan digit dan {2} menandakan kita hanya ingin mengambil dua karakter. Jadi, (\d{2}) akan mencocokkan dua digit pertama (hari), (\d{2}) selanjutnya untuk dua digit berikutnya (bulan), dan (\d{4}) untuk empat digit terakhir (tahun).

Setelah mendapatkan format tersebut, kita menggantinya dengan format baru menggunakan re.sub, sehingga hasilnya menjadi:

Dengan demikian, kita berhasil mengubah format tanggal dari "12-05-1990" menjadi "05/12/1990".

Memecah string berdasarkan spasi atau koma:

Kita menggunakan pola khusus r'[ ,]+' untuk memecah string. Pola ini menunjukkan kita ingin memecah teks berdasarkan dua delimiter, yaitu spasi (" ") dan koma (",").

Kurung siku [] digunakan untuk menentukan kumpulan karakter yang mungkin dan tanda + mengartikan kita ingin memecah teks berdasarkan satu atau lebih spasi atau koma yang berurutan.

Dengan demikian, kita berhasil memecah string menjadi daftar kata-kata berdasarkan spasi atau koma.

Validasi nomor telepon

Kita menggunakan pola khusus r'^\d{10,12}$' untuk memvalidasi nomor telepon. Pola ini memiliki beberapa bagian:

  • ^: menandakan awal dari string.
  • \d: mencocokkan digit yang berarti angka 0-9.
  • {10,12}: menandakan kita ingin mencocokkan antara 10 hingga 12 digit.
  • $: menandakan akhir dari string.

Dengan demikian, pola ini akan mencocokkan string yang diawali dengan angka, memiliki panjang antara 10 hingga 12 karakter, dan diakhiri dengan angka.

Setelahnya kita dapat memvalidasi apakah suatu string merupakan nomor telepon yang valid atau tidak berdasarkan panjang dan karakter yang ada di dalamnya.

FAQ (Frequently Ask Question)

Apa itu greedy dan non-greedy matching dalam RegEx?

Greedy matching mencoba mencocokkan sebanyak mungkin, sedangkan non-greedy matching mencocokkan sesedikit mungkin. Misalnya, a* adalah greedy, sedangkan a*? adalah non-greedy.

Apa itu lookahead dan lookbehind dalam RegEx?

Lookahead dan lookbehind memungkinkan kamu mencocokkan teks yang diikuti atau didahului oleh pola tertentu tanpa menyertakan pola tersebut dalam hasil. Misalnya, a(?=b) akan mencocokkan 'a' yang diikuti oleh 'b', tetapi 'b' tidak termasuk dalam hasil.

Penutup

RegEx Python, atau Regular Expressions, adalah sistem yang memungkinkan pencocokan dan manipulasi teks dengan menggunakan pola yang ditentukan.

Sepanjang artikel ini, kita telah menjelajahi berbagai aspek dari RegEx, mulai dari struktur dasar, fungsi utama, sampai sintaks yang digunakan dalam kode Python. Kita telah melihat bagaimana karakter, digit, dan metakarakter dapat digabungkan untuk menciptakan pola yang kompleks, serta bagaimana fungsi seperti re.search, re.findall, dan lainnya dapat digunakan untuk mencari, mengganti, serta memproses teks.

RevoU Staff
Kickstart your career in tech with RevoU!

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Menu

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?

RegEx Python: Panduan Regular Expressions untuk Pemula

RegEx memungkinkan kamu menentukan pola pencarian kompleks dalam teks. Berikut panduang lengkapnya untuk pemula!
RevoU Staff
August 25, 2023
5
min read

Overview

RegEx Python, atau Regular Expressions, adalah sistem yang memungkinkan pencocokan dan manipulasi teks dengan menggunakan pola yang ditentukan.

RegEx Python menjadi salah satu alat yang dinamis dan serbaguna dalam analisis data.

Dengan kemampuan untuk mencocokkan, mencari, dan memanipulasi teks, RegEx membuka pintu ke dunia analisis data yang lebih canggih dan efisien.

Dalam artikel ini, kita akan memahami RegEx Python, menjelajahi potensinya, dan membongkar cara-cara untuk mengintegrasikannya ke dalam alur kerja sehari-hari. Yuk, simak!

Apa itu Regular Expressions (RegEx) di Python?

Regular Expressions atau RegEx Python adalah adalah alat yang digunakan untuk mencocokkan, mencari, mengganti, dan memanipulasi teks berdasarkan pola tertentu.

RegEx memungkinkan kamu menentukan pola pencarian kompleks dalam teks yang bisa mencakup karakter spesifik, kelompok karakter, urutan, frekuensi, dan banyak lagi.

Sebagai data analyst, kamu tentu sering berhadapan dengan data teks yang besar dan kompleks. Mengetahui cara menggunakan Regular Expression Python membantu kamu membersihkan dan mengolah data tersebut dengan cepat. Misalnya, jika kamu ingin menemukan semua alamat e-mail dalam dokumen atau mengganti format tanggal dalam teks, kamu bisa melakukannya dengan mudah menggunakan RegEx.

Namun, RegEx bukan hanya tentang mencari dan mengganti teks. Alat ini juga berfungsi dalam berbagai aspek analisis data, mulai dari validasi input data sampai pengolahan log file.

Fungsi RegEx Python

Dalam RegEx Python, ada beberapa fungsi utama yang sering digunakan untuk berbagai keperluan, termasuk membantu dalam pencarian, penggantian, dan manipulasi teks sesuai kebutuhan:

  • Fungsi re.search: fungsi ini digunakan untuk mencari pola dalam teks. Jika pola ditemukan, fungsi akan mengembalikan objek yang berisi detail pencocokan. Misalnya, kamu bisa menggunakan re.search untuk menemukan kata pertama yang cocok dengan pola tertentu dalam string.
  • Fungsi re.findall: re.findall akan mengembalikan daftar semua kemunculan pola dalam teks, bukan hanya yang pertama. Fungsi ini berguna jika kamu ingin menemukan semua kemunculan suatu pola dalam dokumen.
  • Fungsi re.match: re.match mirip dengan re.search, tetapi hanya mencocokkan pola di awal string. Jika pola tidak ditemukan di awal string, fungsi ini akan mengembalikan None.
  • Fungsi re.sub: re.sub dipakai untuk mengganti teks. Kamu bisa mengganti semua kemunculan pola dalam string dengan teks lain. Misalnya, kamu bisa mengganti semua tanggal dalam format lama dengan format baru.
  • Fungsi re.split: fungsi ini memungkinkan kamu membagi string menjadi list berdasarkan pola yang diberikan. re.split bisa berguna dalam membersihkan dan mempersiapkan data untuk analisis lebih lanjut.
  • Fungsi re.compile: dengan fungsi ini, kamu bisa mengkompilasi pola RegEx menjadi objek RegEx. Hal ini memungkinkan kamu menggunakan pola yang sama dalam banyak operasi pencarian, sehingga kode menjadi lebih efisien.

Sintaks dan Struktur Dasar dalam RegEx

Sintaks RegEx Python merujuk pada struktur dan aturan yang digunakan dalam menulis ekspresi reguler di Python. Dengan menggunakan modul re, kamu dapat menerapkan berbagai fungsi RegEx untuk mengolah data teks sesuai kebutuhan.

Sintaksnya sendiri mencakup berbagai struktur. Berikut struktur dasar dalam RegEx Python yang membantu dalam pencocokan pola teks kompleks:

  • Karakter biasa: karakter seperti huruf, angka, dan simbol digunakan untuk mencocokkan teks yang sama dalam string.
  • Metakarakter: ini adalah karakter khusus yang memiliki makna khusus dalam RegEx, termasuk:
  • Escape sequences: karakter khusus yang dipakai untuk mencocokkan jenis karakter tertentu, seperti \d untuk digit, \w untuk karakter alfanumerik, dan \s untuk spasi.
  • Quantifier: digunakan untuk menentukan berapa kali suatu bagian dari pola harus muncul, seperti *, +, ?, dan {}.
  • Pengelompokan dan pilihan: tanda kurung () digunakan untuk mengelompokkan bagian dari pola, dan tanda | (pipa) digunakan untuk mencocokkan salah satu dari beberapa pola.
  • Flags: beberapa flags berfungsi untuk mengubah perilaku pencocokan, seperti re.I untuk pencocokan yang tidak peka huruf besar/kecil dan re.M untuk mode multi-baris.

Cara dan Contoh Menggunakan RegEx Python

Berikut cara menggunakan RegEx dalam Kode Python:

  • Impor modul: pertama, kamu perlu mengimpor modul re dengan menggunakan import re.
  • Tentukan pola: selanjutnya, tentukan pola yang ingin kamu cocokkan. Misalnya, kamu bisa mencari semua digit dengan pola '\d+'.
  • Gunakan fungsi RegEx: pakai fungsi seperti re.search, re.findall, atau lainnya dengan pola yang telah ditentukan. Misalnya, result = re.search('\d+', '1234').
  • Proses hasil: hasil dari fungsi RegEx bisa diproses lebih lanjut. Misalnya, jika kamu menggunakan re.search, kamu bisa mendapatkan teks yang cocok dengan result.group().

{{COMPONENT_IDENTIFIER}}

Berikut contoh penggunaanya:

Mencari kata spesifik

Contoh di atas mencari kata "kucing" dalam string. Jika kata tersebut ditemukan, layar akan menampilkan pesan bahwa kata tersebut ditemukan.

Mencari semua e-mail dalam teks

Pada contoh di atas, kita menggunakan pola khusus untuk mencocokkan alamat e-mail. Tanda @ pada pola berfungsi sebagai patokan utama dalam mencari alamat e-mail.

Dengan menggunakan \b di awal dan akhir pola, kita memastikan pencocokan dimulai dan diakhiri sebagai kata utuh, bukan bagian dari kata lain.

Tanda + setelah kurung siku menandakan kita ingin mencocokkan satu atau lebih karakter yang sesuai dengan pola di dalam kurung siku sampai kita menemukan karakter berikutnya dalam pola, yaitu @.

Setelah tanda @, pola dilanjutkan dengan pencocokan karakter alfanumerik dan titik, hingga kita menemukan tanda titik (.). Setelah tanda titik, kita mencocokkan karakter huruf dengan panjang yang ditentukan oleh {2,} yang berarti dua karakter atau lebih.

Dengan demikian, kita berhasil mengekstrak semua alamat e-mail dari teks yang diberikan.

Mengganti format tanggal

Di sini, \d mencocokkan digit dan {2} menandakan kita hanya ingin mengambil dua karakter. Jadi, (\d{2}) akan mencocokkan dua digit pertama (hari), (\d{2}) selanjutnya untuk dua digit berikutnya (bulan), dan (\d{4}) untuk empat digit terakhir (tahun).

Setelah mendapatkan format tersebut, kita menggantinya dengan format baru menggunakan re.sub, sehingga hasilnya menjadi:

Dengan demikian, kita berhasil mengubah format tanggal dari "12-05-1990" menjadi "05/12/1990".

Memecah string berdasarkan spasi atau koma:

Kita menggunakan pola khusus r'[ ,]+' untuk memecah string. Pola ini menunjukkan kita ingin memecah teks berdasarkan dua delimiter, yaitu spasi (" ") dan koma (",").

Kurung siku [] digunakan untuk menentukan kumpulan karakter yang mungkin dan tanda + mengartikan kita ingin memecah teks berdasarkan satu atau lebih spasi atau koma yang berurutan.

Dengan demikian, kita berhasil memecah string menjadi daftar kata-kata berdasarkan spasi atau koma.

Validasi nomor telepon

Kita menggunakan pola khusus r'^\d{10,12}$' untuk memvalidasi nomor telepon. Pola ini memiliki beberapa bagian:

  • ^: menandakan awal dari string.
  • \d: mencocokkan digit yang berarti angka 0-9.
  • {10,12}: menandakan kita ingin mencocokkan antara 10 hingga 12 digit.
  • $: menandakan akhir dari string.

Dengan demikian, pola ini akan mencocokkan string yang diawali dengan angka, memiliki panjang antara 10 hingga 12 karakter, dan diakhiri dengan angka.

Setelahnya kita dapat memvalidasi apakah suatu string merupakan nomor telepon yang valid atau tidak berdasarkan panjang dan karakter yang ada di dalamnya.

FAQ (Frequently Ask Question)

Apa itu greedy dan non-greedy matching dalam RegEx?

Greedy matching mencoba mencocokkan sebanyak mungkin, sedangkan non-greedy matching mencocokkan sesedikit mungkin. Misalnya, a* adalah greedy, sedangkan a*? adalah non-greedy.

Apa itu lookahead dan lookbehind dalam RegEx?

Lookahead dan lookbehind memungkinkan kamu mencocokkan teks yang diikuti atau didahului oleh pola tertentu tanpa menyertakan pola tersebut dalam hasil. Misalnya, a(?=b) akan mencocokkan 'a' yang diikuti oleh 'b', tetapi 'b' tidak termasuk dalam hasil.

Penutup

RegEx Python, atau Regular Expressions, adalah sistem yang memungkinkan pencocokan dan manipulasi teks dengan menggunakan pola yang ditentukan.

Sepanjang artikel ini, kita telah menjelajahi berbagai aspek dari RegEx, mulai dari struktur dasar, fungsi utama, sampai sintaks yang digunakan dalam kode Python. Kita telah melihat bagaimana karakter, digit, dan metakarakter dapat digabungkan untuk menciptakan pola yang kompleks, serta bagaimana fungsi seperti re.search, re.findall, dan lainnya dapat digunakan untuk mencari, mengganti, serta memproses teks.

RevoU Staff
Kickstart your career in tech with RevoU!
Menu