Rondkijken

Regular expressions in Python

Maria Eugenia Inzaugarat

Data Scientist

Rondkijken

  • Laat je bevestigen dat een subpatroon vóór of na het hoofdpatroon staat

   

Regular expressions in Python

Rondkijken

  • Laat je bevestigen dat een subpatroon vóór of na het hoofdpatroon staat

 

Op mijn huidige positie in het matchproces kijk ik vooruit of achteruit en controleer ik of een patroon wel of niet matcht voordat ik doorga.

Regular expressions in Python

Look-ahead

  • Niet-opvangende groep
  • Controleert dat het eerste deel van het patroon wel of niet gevolgd wordt door de lookahead
  • Geeft alleen het eerste deel terug

Regular expressions in Python

Positieve look-ahead

  • Niet-opvangende groep
  • Controleert dat het eerste deel van het patroon gevolgd wordt door de lookahead
  • Geeft alleen het eerste deel terug

 

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

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

Positieve look-ahead

  • Niet-opvangende groep
  • Controleert dat het eerste deel van het patroon gevolgd wordt door de lookahead
  • Geeft alleen het eerste deel terug

 

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

Negatieve look-ahead

  • Niet-opvangende groep
  • Controleert dat het eerste deel van het patroon niet gevolgd wordt door de lookahead
  • Geeft alleen het eerste deel terug

 

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

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

Negatieve look-ahead

  • Niet-opvangende groep
  • Controleert dat het eerste deel van het patroon niet gevolgd wordt door de lookahead
  • Geeft alleen het eerste deel terug

 

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

  • Niet-opvangende groep
  • Haal alle matches op die wel of niet voorafgegaan worden door een specifiek patroon.
  • Geef het patroon ná de look-behind terug

Regular expressions in Python

Positieve look-behind

  • Niet-opvangende groep
  • Haal alle matches op die voorafgegaan worden door een specifiek patroon.
  • Geef het patroon ná de look-behind terug

 

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

Positieve look-behind

  • Niet-opvangende groep
  • Haal alle matches op die voorafgegaan worden door een specifiek patroon.
  • Geef het patroon ná de look-behind terug

 

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

Negatieve look-behind

  • Niet-opvangende groep
  • Haal alle matches op die niet voorafgegaan worden door een specifiek patroon.
  • Geef het patroon ná de look-behind terug

 

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

Laten we oefenen!

Regular expressions in Python

Preparing Video For Download...