Learn AI with Python · Pelajaran

Grup Penangkap dan Grup Bernama

Tanda kurung untuk penangkapan, grup bernama (?P ...), re.fullmatch(), lookahead/lookbehind.

Pelajaran 3 dari 413 langkah

Grup Penangkap dan Grup Bernama adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 3 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.

Mengapa Menggunakan Kelompok?

Kelompok memungkinkan Anda memisahkan bagian-bagian kecocokan sehingga dapat mengekstrak bagian yang tepat — kode area dari nomor telepon, tahun dari tanggal, atau nama pengguna dari surel.

Pelajaran ini membahas kelompok penangkap, kelompok bernama, kelompok tanpa penangkapan, dan pencarian di sekitar.

Kelompok Penangkap dengan ( )

Bungkus sebagian pola dalam tanda kurung untuk menangkapnya. Seluruh kecocokan beserta setiap kelompok dapat diakses pada objek Match.

import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "Date: 2026-05-29")
print(m.group())    # "2026-05-29" (whole match)
print(m.group(1))   # "2026"
print(m.group(2))   # "05"

match.group, groups, groupdict

Akses yang berguna:

  • m.group(0) — seluruh kecocokan
  • m.group(n) — tangkapan ke-n
  • m.groups() — tupel semua tangkapan
import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "2026-05-29")
print(m.groups())   # ("2026", "05", "29")
year, month, day = m.groups()

Kelompok Bernama dengan (?P<name>...)

Pemberian nomor pada kelompok mudah menjadi rapuh. Kelompok bernama menggunakan (?P<name>...) sehingga Anda merujuk tangkapan dengan nama yang bermakna.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.group("year"))   # "2026"
print(m.group("month"))  # "05"

groupdict untuk Keluaran Terstruktur

m.groupdict() mengembalikan semua kelompok bernama sebagai kamus — sangat cocok untuk mengubah teks yang cocok menjadi catatan terstruktur.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.groupdict())
# {"year": "2026", "month": "05", "day": "29"}

Kelompok Tanpa Penangkapan (?:...)

Terkadang Anda memerlukan tanda kurung hanya untuk mengelompokkan (misalnya untuk menerapkan kuantifier), tetapi TIDAK ingin melakukan penangkapan. Gunakan (?:...).

Dengan begitu, penomoran kelompok tetap rapi.

import re

# Group "ab" so + applies, but do not capture it
m = re.search("(?:ab)+(\d+)", "ababab42")
print(m.group(1))   # "42" -> group 1 is the digits, not "ab"

Referensi Balik

Referensi balik \1 mencocokkan teks yang sama dengan yang sebelumnya ditangkap oleh suatu kelompok. Ini berguna untuk menemukan kata yang berulang.

import re

# Find a word repeated twice in a row
print(re.findall("(\w+) \1", "the the cat cat sat"))
# ["the", "cat"]

Pemeriksaan ke depan (?=...)

Pemeriksaan ke depan positif (?=...) menyatakan apa yang harus mengikuti, tanpa mengonsumsinya. Teks yang ditegaskan bukan bagian dari kecocokan.

Di sini, kita mencocokkan angka hanya jika diikuti oleh "px".

import re

print(re.findall("\d+(?=px)", "10px 20em 30px"))
# ["10", "30"]  -> "20" skipped (not followed by px)

Pemeriksaan ke depan negatif (?!...)

Pemeriksaan ke depan negatif (?!...) menyatakan apa yang tidak boleh mengikuti. Cocokkan angka hanya jika tidak diikuti oleh "px".

import re

print(re.findall("\d+(?!px)", "10px 20em 30px"))
# matches numbers not followed directly by px

Pemeriksaan ke belakang (?<=...) dan (?<!...)

Pemeriksaan ke belakang menyatakan apa yang muncul sebelum kecocokan tanpa mengonsumsinya:

  • (?<=...) positif — harus didahului oleh
  • (?<!...) negatif — tidak boleh didahului oleh

Di sini, kita mengambil jumlah yang didahului oleh tanda dolar, tanpa menangkap tandanya.

import re

print(re.findall("(?<=\$)\d+", "price $50 and 60 units"))
# ["50"]  -> only the amount after $

Menggabungkan Grup dan Pemeriksaan di Sekitar

Ekstraktor nyata menggabungkan alat-alat ini. Pola ini mengambil harga dengan nama yang harus didahului oleh simbol mata uang dan diikuti oleh bagian desimal:

import re

text = "Total: $1299.99 paid"
m = re.search("(?<=\$)(?P<amount>\d+)\.(?P<cents>\d{2})", text)
print(m.group("amount"), m.group("cents"))   # 1299 99

Pemeriksaan Singkat: Grup Bernama

Anda ingin mengambil kecocokan berdasarkan nama yang mudah dibaca seperti "year", bukan berdasarkan angka.

Ringkasan: Grup dan Pemeriksaan di Sekitar

Sekarang Anda dapat mengambil struktur yang tepat dari teks:

  • ( ) grup penangkap dengan m.group(n) dan m.groups()
  • (?P<name>...) grup bernama dengan m.groupdict()
  • (?:...) grup tanpa penangkapan untuk pengelompokan yang rapi
  • Referensi balik \1 untuk pengulangan
  • Pemeriksaan ke depan (?=)/(?!) dan pemeriksaan ke belakang (?<=)/(?<!)

Berikutnya: menggabungkan semuanya untuk membersihkan teks bagi kecerdasan buatan.

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
53
Pelajaran
225

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Grup Penangkap dan Grup Bernama” gratis?

Ya — teks lengkap “Grup Penangkap dan Grup Bernama” 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 “Grup Penangkap dan Grup Bernama”?

Tanda kurung untuk penangkapan, grup bernama (?P ...), re.fullmatch(), lookahead/lookbehind. 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 3 dari 4.

Berapa lama pelajaran “Grup Penangkap dan Grup Bernama” 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