0Pricing
Learn AI with Python · Pelajaran

Modul re: search, match, findall, sub

re.search(), re.match(), re.findall(), re.sub(), re.compile() untuk kinerja.

Modul re: search, match, findall, sub adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Modul re

Python menyediakan regex melalui modul bawaan re. Fungsi intinya adalah search, match, findall, dan sub.

Mengetahui fungsi mana yang harus digunakan merupakan setengah dari tantangan.

import re   # always import it first

re.search — Menemukan di Mana Saja

re.search(pattern, text) memindai seluruh string untuk menemukan kecocokan pertama dan mengembalikan objek Match, atau None jika tidak ada yang cocok.

import re

m = re.search("\d+", "order 42 shipped")
if m:
    print(m.group())   # "42"
    print(m.start())   # 6

re.match — Berjangkar di Awal

re.match hanya mencocokkan di awal string. Jika pola tidak berada di posisi 0, fungsi ini mengembalikan None meskipun pola tersebut muncul di bagian selanjutnya.

import re

print(re.match("\d+", "42 items"))    # matches "42"
print(re.match("\d+", "items 42"))    # None

search vs match

Perbedaan utamanya:

  • match — pola harus dimulai pada indeks 0
  • search — pola dapat muncul di mana saja

Dalam kebanyakan kasus, Anda memerlukan search. Gunakan match hanya jika Anda memang perlu memeriksa awalan.

re.findall — Mendapatkan Setiap Kecocokan

re.findall mengembalikan daftar semua kecocokan yang tidak saling tumpang tindih sebagai string (bukan objek Match). Fungsi ini ideal untuk tugas ekstraksi.

import re

emails = re.findall("\w+@\w+\.\w+", "a@x.com and b@y.org")
print(emails)   # ["a@x.com", "b@y.org"]

findall dengan Kelompok

Jika pola Anda memiliki kelompok penangkap, findall mengembalikan bagian yang ditangkap, bukan seluruh kecocokan — hal yang sering mengejutkan.

Di sini setiap tupel berisi kode area dan bagian lainnya.

import re

print(re.findall("(\d{3})-(\d{4})", "555-1234 and 999-8765"))
# [("555", "1234"), ("999", "8765")]

re.finditer — Objek Match

Jika Anda memerlukan posisi atau kelompok untuk setiap kecocokan, gunakan re.finditer. Fungsi ini menghasilkan objek Match yang dapat Anda telusuri secara malas.

import re

for m in re.finditer("\d+", "a1 b22 c333"):
    print(m.group(), "at", m.start())

re.sub — Mencari dan Mengganti

re.sub(pattern, replacement, text) mengganti setiap kecocokan dengan string pengganti dan mengembalikan string baru.

Fungsi ini merupakan dasar pembersihan teks — penyamaran, penyeragaman, dan penghapusan.

import re

clean = re.sub("\d+", "#", "Room 101 and 202")
print(clean)   # "Room # and #"

sub dengan Referensi Balik dan Fungsi

Pengganti dapat merujuk kelompok yang ditangkap dengan \1, atau berupa fungsi untuk logika dinamis.

import re

# Swap "first last" -> "last, first"
print(re.sub("(\w+) (\w+)", "\\2, \\1", "Ada Lovelace"))

# Function replacement: double each number
print(re.sub("\d+", lambda m: str(int(m.group()) * 2), "a1 b2"))

re.compile — Menggunakan Kembali Pola

Saat Anda menggunakan pola berkali-kali (misalnya dalam pengulangan), re.compile membuatnya sekali menjadi objek pola yang dapat digunakan kembali. Cara ini lebih cepat dan menghasilkan kode yang rapi.

import re

num = re.compile("\d+")
for line in ["a1", "b22", "c333"]:
    print(num.findall(line))

Bendera yang Berguna

Bendera mengubah perilaku pencocokan:

  • re.IGNORECASE — tidak peka huruf besar-kecil
  • re.MULTILINE — ^/$ mencocokkan setiap baris
  • re.DOTALL — . juga mencocokkan baris baru
import re

print(re.findall("cat", "Cat CAT cat", re.IGNORECASE))
# ["Cat", "CAT", "cat"]

Pemeriksaan Singkat: search vs findall

Anda memerlukan daftar setiap nomor telepon yang muncul di mana saja dalam sebuah dokumen.

Rangkuman: Modul re

Sekarang Anda mengetahui fungsi inti regex:

  • re.search — kecocokan pertama di mana saja (objek Match)
  • re.match — hanya mencocokkan di awal
  • re.findall — daftar semua kecocokan (kelompok mengubah keluarannya)
  • re.finditer — objek Match dengan posisi
  • re.sub — mengganti kecocokan, dengan referensi balik atau fungsi
  • re.compile dan bendera untuk penggunaan kembali dan pengendalian

Selanjutnya: kelompok penangkap dan kelompok bernama.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Modul re: search, match, findall, sub” gratis?

Ya — teks lengkap “Modul re: search, match, findall, sub” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Modul re: search, match, findall, sub”?

re.search(), re.match(), re.findall(), re.sub(), re.compile() untuk kinerja. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Modul re: search, match, findall, sub” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pola Regex dan Kelas Karakter
  2. Modul re: search, match, findall, sub
  3. Grup Penangkap dan Grup Bernama
  4. Membersihkan Teks untuk Kecerdasan Buatan dengan Regex
← Kembali ke Learn AI with Python