Ekspresi Reguler Python Dibuat Mudah
Ekspresi reguler (regex) adalah alat canggih yang digunakan untuk mencocokkan dan memanipulasi string berdasarkan pola. Dalam Python, modul re
menyediakan dukungan untuk ekspresi reguler, yang memungkinkan Anda melakukan operasi string yang rumit secara efisien. Artikel ini akan memperkenalkan Anda pada dasar-dasar ekspresi reguler dan menunjukkan cara menggunakannya secara efektif dalam Python.
Memulai dengan Modul re
Untuk menggunakan ekspresi reguler di Python, Anda perlu mengimpor modul re
. Modul ini menyediakan beberapa fungsi untuk bekerja dengan pola regex:
re.match()
- Memeriksa kecocokan hanya di awal string.re.search()
- Mencari seluruh string untuk kecocokan.re.findall()
- Menemukan semua kecocokan dalam string dan mengembalikannya sebagai daftar.re.sub()
- Mengganti kecocokan dalam string dengan penggantian yang ditentukan.
Pencocokan Pola Dasar
Ekspresi reguler menggunakan karakter khusus untuk menentukan pola pencarian. Berikut ini beberapa pola dasar:
.
- Mencocokkan karakter tunggal apa pun kecuali baris baru.\d
- Mencocokkan digit apa pun (setara dengan[0-9]
).\w
- Mencocokkan karakter alfanumerik apa pun (setara dengan[a-zA-Z0-9_]
).\s
- Mencocokkan karakter spasi apa pun.^
- Mencocokkan awal string.$
- Mencocokkan akhir string.
Contoh
Berikut adalah beberapa contoh yang menunjukkan pencocokan pola dasar:
import re
# Match a pattern at the beginning of a string
result = re.match(r'Hello', 'Hello, World!')
print(result.group()) # Output: Hello
# Search for a pattern in the entire string
result = re.search(r'\d+', 'There are 24 hours in a day.')
print(result.group()) # Output: 24
Menggunakan Ekspresi Reguler dengan Grup
Grup digunakan untuk mengambil bagian teks yang cocok. Grup didefinisikan menggunakan tanda kurung. Misalnya, untuk mengambil bagian tertentu dari suatu pola, Anda dapat menggunakan grup:
pattern = r'(\d{3})-(\d{2})-(\d{4})'
text = 'My number is 123-45-6789.'
# Find all matches with groups
match = re.search(pattern, text)
if match:
print(f'Area Code: {match.group(1)}') # Output: 123
print(f'Prefix: {match.group(2)}') # Output: 45
print(f'Suffix: {match.group(3)}') # Output: 6789
Menggunakan Karakter Khusus
Ekspresi reguler mencakup beberapa karakter khusus untuk pencocokan pola yang lebih kompleks:
*
- Mencocokkan 0 atau lebih kemunculan elemen sebelumnya.+
- Mencocokkan 1 atau lebih kemunculan elemen sebelumnya.?
- Mencocokkan 0 atau 1 kemunculan elemen sebelumnya.{n}
- Mencocokkan secara tepat kemunculann
elemen sebelumnya.|
- Mencocokkan pola sebelum atau pola sesudahnya.
Contoh
Berikut adalah beberapa contoh penggunaan karakter khusus:
# Match a pattern with 0 or more occurrences
result = re.findall(r'\d*', '123 abc 456')
print(result) # Output: ['123', '', '', '456']
# Match a pattern with 1 or more occurrences
result = re.findall(r'\d+', 'There are 24 apples and 3 oranges.')
print(result) # Output: ['24', '3']
Mengganti Teks dengan Ekspresi Reguler
Fungsi re.sub()
digunakan untuk mengganti bagian string yang cocok dengan pola:
text = 'The rain in Spain falls mainly in the plain.'
# Replace 'Spain' with 'France'
new_text = re.sub(r'Spain', 'France', text)
print(new_text) # Output: The rain in France falls mainly in the plain.
Kesimpulan
Ekspresi reguler merupakan alat yang ampuh untuk pencocokan pola dan manipulasi teks dalam Python. Dengan modul re
, Anda dapat mencari, mencocokkan, dan mengganti teks berdasarkan pola yang rumit. Dengan memahami sintaks dasar dan karakter khusus, Anda dapat memanfaatkan ekspresi reguler untuk menangani berbagai tugas pemrosesan teks secara efektif.