Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Tulis 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 sini

Semua pelajaran di RegEx di Python

Latihan sendiri: Compiler Python online

Uji pola pada teksmu sendiri: Penguji Regex