Lookaround

Regular Expressions in Python

Maria Eugenia Inzaugarat

Data Scientist

Looking around

  • Memastikan subpola ada di depan atau belakang pola utama

   

Regular Expressions in Python

Looking around

  • Memastikan subpola ada di depan atau belakang pola utama

 

Pada posisi pencocokan saat ini, lihat ke depan atau belakang dan periksa apakah suatu pola cocok atau tidak sebelum lanjut.

Regular Expressions in Python

Look-ahead

  • Grup non-capturing
  • Memastikan bagian pertama ekspresi diikuti atau tidak oleh ekspresi lookahead
  • Hanya mengembalikan bagian pertama ekspresi

Regular Expressions in Python

Positive look-ahead

  • Grup non-capturing
  • Memastikan bagian pertama ekspresi diikuti ekspresi lookahead
  • Hanya mengembalikan bagian pertama ekspresi

 

my_text = "tweets.txt transferred, mypass.txt transferred, keywords.txt error"

re.findall(r"\w+\.txt ", my_text)
Regular Expressions in Python

Positive look-ahead

  • Grup non-capturing
  • Memastikan bagian pertama ekspresi diikuti ekspresi lookahead
  • Hanya mengembalikan bagian pertama ekspresi

 

my_text = "tweets.txt transferred, mypass.txt transferred, keywords.txt error"

re.findall(r"\w+\.txt(?=\stransferred)", my_text)
['tweets.txt', 'mypass.txt']
Regular Expressions in Python

Negative look-ahead

  • Grup non-capturing
  • Memastikan bagian pertama ekspresi tidak diikuti ekspresi lookahead
  • Hanya mengembalikan bagian pertama ekspresi

 

my_text = "tweets.txt transferred, mypass.txt transferred, keywords.txt error"

re.findall(r"\w+\.txt ", my_text)
Regular Expressions in Python

Negative look-ahead

  • Grup non-capturing
  • Memastikan bagian pertama ekspresi tidak diikuti ekspresi lookahead
  • Hanya mengembalikan bagian pertama ekspresi

 

my_text = "tweets.txt transferred, mypass.txt transferred, keywords.txt error"

re.findall(r"\w+\.txt(?!\stransferred)", my_text)
['keywords.txt']
Regular Expressions in Python

Look-behind

  • Grup non-capturing
  • Ambil kecocokan yang didahului atau tidak oleh pola tertentu
  • Kembalikan pola setelah ekspresi look-behind

Regular Expressions in Python

Positive look-behind

  • Grup non-capturing
  • Ambil semua kecocokan yang didahului pola tertentu
  • Kembalikan pola setelah ekspresi look-behind

 

my_text = "Member: Angus Young, Member: Chris Slade, Past: Malcolm Young, Past: Cliff Williams."

re.findall(r" \w+\s\w+", my_text)
Regular Expressions in Python

Positive look-behind

  • Grup non-capturing
  • Ambil semua kecocokan yang didahului pola tertentu
  • Kembalikan pola setelah ekspresi look-behind

 

my_text = "Member: Angus Young, Member: Chris Slade, Past: Malcolm Young, Past: Cliff Williams."

re.findall(r"(?<=Member:\s)\w+\s\w+", my_text)
['Angus Young', 'Chris Slade']
Regular Expressions in Python

Negative look-behind

  • Grup non-capturing
  • Ambil semua kecocokan yang tidak didahului pola tertentu
  • Kembalikan pola setelah ekspresi look-behind

 

my_text = "My white cat sat at the table. However, my brown dog was lying on the couch."

re.findall(r"(?<!brown\s)(cat|dog)", my_text)
['cat']
Regular Expressions in Python

Ayo berlatih!

Regular Expressions in Python

Preparing Video For Download...