0Pricing
Python Academy · Pelajaran

Grup dan Capture Bernama

Ekstrak data dengan grup penangkap dan sintaks grup bernama.

Grup dan Capture Bernama adalah pelajaran Python Academy 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 Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

Grup tangkapan mengekstrak bagian tertentu dari sebuah kecocokan. Grup bernama membuat data yang diekstrak dapat dipahami tanpa dokumentasi tambahan.

Grup Tangkapan Dasar

Tanda kurung () membuat grup tangkapan. m.group(1) mengembalikan kecocokan dari grup pertama.
import re
m = re.search(r'(\d{4})-(\d{2})-(\d{2})', '2024-01-15')
if m: print(m.group(1), m.group(2), m.group(3))

m.groups()

m.groups() mengembalikan semua grup tangkapan sebagai tuple.
import re
m = re.search(r'(\w+)@(\w+)\.(\w+)', 'user@example.com')
if m: print(m.groups())

Grup Bernama

(?Ppattern) membuat grup bernama. Akses dengan m.group('name') atau m.groupdict().
import re
m = re.search(
    r'(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})',
    '2024-01-15'
)
if m: print(m.groupdict())

Grup Tanpa Tangkapan

(?:pattern) mengelompokkan pola tanpa menangkapnya. Ini berguna ketika Anda memerlukan pengelompokan untuk kuantifier tetapi tidak memerlukan kecocokannya.
import re
print(re.findall(r'(?:cat|dog)s?', 'cats dogs cat dog'))

Referensi Balik

\1 di dalam pola merujuk pada hasil yang dicocokkan oleh grup 1. Ini berguna untuk menemukan kata yang berulang.
import re
# Match repeated words
m = re.search(r'\b(\w+)\s+\1\b', 'the the quick brown', re.IGNORECASE)
if m: print('repeated:', m.group())

findall dengan Grup

Ketika pola memiliki grup, findall mengembalikan daftar tuple grup, bukan kecocokan lengkap.
import re
result = re.findall(r'(\w+)=(\w+)', 'x=1 y=2 z=3')
print(result)

Menggunakan Grup dalam re.sub()

Dalam re.sub(), \1 atau \g menyisipkan grup yang ditangkap ke dalam string penggantian.
import re
result = re.sub(r'(\w+)\s(\w+)', r'\2 \1', 'John Smith')
print(result)

Pandangan ke Depan (?= )

(?=expr) adalah pandangan positif ke depan — mencocokkan posisi yang diikuti oleh expr tanpa mengonsumsinya.
import re
# Prices followed by USD
print(re.findall(r'\d+(?= USD)', '100 USD 200 EUR 300 USD'))

Pandangan ke Belakang (?<= )

(?<=expr) adalah pandangan positif ke belakang — mencocokkan posisi yang didahului oleh expr tanpa mengonsumsinya.
import re
print(re.findall(r'(?<=\$)\d+', 'paid $100 and $200'))

Referensi Balik Bernama

(?P=name) dalam pola merujuk pada nilai grup bernama. Ini berguna untuk mencocokkan tag penutup.
import re
m = re.search(r'<(?P<tag>\w+)>.*?</(?P=tag)>', '<b>hello</b>')
if m: print(m.group())

Pemeriksaan Singkat

Bagaimana cara mengakses grup tangkapan bernama 'year' dari objek kecocokan m?

Ringkasan

Grup () menangkap bagian-bagian. m.group(1), m.groups(), m.groupdict(). Bernama: (?P). Tanpa tangkapan: (?:). Referensi balik: \1 atau \g dalam penggantian.

Lanjutkan

Kerja bagus! Pelajaran berikutnya sudah menanti.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Grup dan Capture Bernama” gratis?

Ya — teks lengkap “Grup dan Capture Bernama” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Grup dan Capture Bernama”?

Ekstrak data dengan grup penangkap dan sintaks grup bernama. Kamu berlatih Python Academy 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 Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy 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 dan Capture 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 Python Academy ini?

Ya. Setiap pelajaran Python Academy 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. Dasar-Dasar Regex
  2. Menggunakan re.match, re.search, re.findall
  3. Grup dan Capture Bernama
  4. re.sub, Flag, dan Pola Terkompilasi
← Kembali ke Python Academy