Pengecekan ke Depan
Pelajaran 20 dari 28 dalam kursus RegEx di Python di Coddy.
Lookahead adalah assertion yang memungkinkan kamu mencocokkan sekelompok karakter hanya jika karakter tersebut diikuti (lookahead positif) atau tidak diikuti (lookahead negatif) oleh pola tertentu. Lookahead tidak mengonsumsi karakter dalam string, tetapi hanya memastikan apakah pencocokan dapat dilakukan.
- Lookahead Positif
<strong>(?=...)</strong>: Mencocokkan sekelompok karakter hanya jika karakter tersebut diikuti oleh pola tertentu. - Lookahead Negatif
<strong>(?!...)</strong>: Mencocokkan sekelompok karakter hanya jika karakter tersebut tidak diikuti oleh pola tertentu.
import re
text = "foo1 foo2 foo3 foo"
pattern_positive = r"foo(?=\d)"
pattern_negative = r"foo(?!\d)"
matches_positive = re.findall(pattern_positive, text)
matches_negative = re.findall(pattern_negative, text)
print("Matches with positive lookahead:", matches_positive) # output: ['foo', 'foo', 'foo']
print("Matches with negative lookahead:", matches_negative) # output: ['foo']Pada contoh di atas, pola foo(?=\d) mencocokkan "foo" hanya jika diikuti oleh digit, sedangkan pola foo(?!\d) mencocokkan "foo" hanya jika tidak diikuti oleh digit.
Tantangan
MudahTulis fungsi bernama find_numbers_followed_by_words yang menerima string teks sebagai input dan mengembalikan list berisi angka yang diikuti oleh sebuah kata.
Coba sendiri
import re
def find_numbers_followed_by_words(text):
# Tulis kodemu di siniSemua pelajaran di RegEx di Python
1Pengantar
Pengantar5Pengelompokan dan Pola Lanjutan
PengelompokanPenangkapanOperator PipeAlternasiPengecekan ke DepanPengecekan ke BelakangLatihan sendiri: Compiler Python online
Uji pola pada teksmu sendiri: Penguji Regex