Lookaround

Wyrażenia regularne w Pythonie

Maria Eugenia Inzaugarat

Data Scientist

Lookaround

  • Pozwala sprawdzić, czy podwzorzec jest przed głównym wzorcem lub za nim

   

Wyrażenia regularne w Pythonie

Lookaround

  • Pozwala sprawdzić, czy podwzorzec jest przed głównym wzorcem lub za nim

 

Na bieżącej pozycji w procesie dopasowywania sprawdź, czy dany wzorzec pasuje lub nie, zanim przejdziesz dalej.

Wyrażenia regularne w Pythonie

Spojrzenie w przód

  • Grupa nieprzechwytu
  • Sprawdza, czy pierwsza część wyrażenia jest lub nie jest poprzedzona wyrażeniem lookahead
  • Zwraca tylko pierwszą część wyrażenia

Wyrażenia regularne w Pythonie

Pozytywne spojrzenie w przód

  • Grupa nieprzechwytu
  • Sprawdza, czy pierwsza część wyrażenia jest poprzedzona wyrażeniem lookahead
  • Zwraca tylko pierwszą część wyrażenia

 

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

re.findall(r"\w+\.txt ", my_text)
Wyrażenia regularne w Pythonie

Pozytywne spojrzenie w przód

  • Grupa nieprzechwytu
  • Sprawdza, czy pierwsza część wyrażenia jest poprzedzona wyrażeniem lookahead
  • Zwraca tylko pierwszą część wyrażenia

 

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

re.findall(r"\w+\.txt(?=\stransferred)", my_text)
['tweets.txt', 'mypass.txt']
Wyrażenia regularne w Pythonie

Negatywne spojrzenie w przód

  • Grupa nieprzechwytu
  • Sprawdza, czy pierwsza część wyrażenia nie jest poprzedzona wyrażeniem lookahead
  • Zwraca tylko pierwszą część wyrażenia

 

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

re.findall(r"\w+\.txt ", my_text)
Wyrażenia regularne w Pythonie

Negatywne spojrzenie w przód

  • Grupa nieprzechwytu
  • Sprawdza, czy pierwsza część wyrażenia nie jest poprzedzona wyrażeniem lookahead
  • Zwraca tylko pierwszą część wyrażenia

 

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

re.findall(r"\w+\.txt(?!\stransferred)", my_text)
['keywords.txt']
Wyrażenia regularne w Pythonie

Spojrzenie w tył

  • Grupa nieprzechwytu
  • Pobiera dopasowania poprzedzone lub niepoprzedzone określonym wzorcem.
  • Zwraca wzorzec po wyrażeniu lookbehind

Wyrażenia regularne w Pythonie

Pozytywne spojrzenie w tył

  • Grupa nieprzechwytu
  • Pobiera dopasowania poprzedzone określonym wzorcem.
  • Zwraca wzorzec po wyrażeniu lookbehind

 

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

re.findall(r" \w+\s\w+", my_text)
Wyrażenia regularne w Pythonie

Pozytywne spojrzenie w tył

  • Grupa nieprzechwytu
  • Pobiera dopasowania poprzedzone określonym wzorcem.
  • Zwraca wzorzec po wyrażeniu lookbehind

 

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']
Wyrażenia regularne w Pythonie

Negatywne spojrzenie w tył

  • Grupa nieprzechwytu
  • Pobiera dopasowania nie poprzedzone określonym wzorcem.
  • Zwraca wzorzec po wyrażeniu lookbehind

 

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']
Wyrażenia regularne w Pythonie

Czas na ćwiczenia!

Wyrażenia regularne w Pythonie

Preparing Video For Download...