Menu
CoddyTech

Pengecekan ke Belakang

Pelajaran 21 dari 28 dalam kursus RegEx di Python di Coddy.

Lookbehind adalah assertion yang memungkinkan kamu mencocokkan sekelompok karakter hanya jika karakter tersebut didahului (positive lookbehind) atau tidak didahului (negative lookbehind) oleh pola tertentu. Seperti lookahead, lookbehind tidak mengonsumsi karakter dalam string.

  • Positive Lookbehind <strong>(?<=...)</strong>: Mencocokkan sekelompok karakter hanya jika karakter tersebut didahului oleh pola tertentu.
  • Negative Lookbehind <strong>(?<!...)</strong>: Mencocokkan sekelompok karakter hanya jika karakter tersebut tidak didahului oleh pola tertentu.
import re

text = "1foo 2foo 3foo foo"
pattern_positive = r"(?<=\d)foo"
pattern_negative = r"(?<!\d)foo"

matches_positive = re.findall(pattern_positive, text)
matches_negative = re.findall(pattern_negative, text)

print("Matches with positive lookbehind:", matches_positive)  # output: ['foo']
print("Matches with negative lookbehind:", matches_negative)  # output: ['foo', 'foo', 'foo']

Pada contoh di atas, pola (?<=\d)foo mencocokkan "foo" hanya jika didahului oleh digit, sedangkan pola (?<!\d)foo mencocokkan "foo" hanya jika tidak didahului oleh digit.

challenge icon

Tantangan

Mudah

Tulis fungsi bernama find_words_preceded_by_numbers yang menerima string teks sebagai input dan mengembalikan list kata yang didahului oleh angka.

Coba sendiri

import re

def find_words_preceded_by_numbers(text):
    # Tulis kodemu di sini

Semua pelajaran di RegEx di Python

Latihan sendiri: Compiler Python online

Uji pola pada teksmu sendiri: Penguji Regex