Lecture Notes

Collected lectures notes in computational biology

Exercice: Expressions régulières et Dinosaures

In [1]:
list_of_dinosaurs = """Velociraptor
    Cryolophosaurus
    Dilophosaurus
    Spinosaurus
    Suchomimus
    Baryonyx
    Irritator
    Utahraptor
    Sinotyrannus
    Chilantaisaurus
    Shaochilong
    Dilong
    Allosaurus
    Ceratosaurus
    Torvosaurus
    Sinraptor
    Acrocanthosaurus
    Tyrannotitan
    Carcharodontosaurus
    Mapusaurus
    Giganotosaurus
    Megaraptor
    Skorpiovenator
    Neovenator
    Afrovenator
    Carnotaurus
    Abelisaurus
    Coelophysis
    Megalosaurus
    Dromaeosaurus
    Achillobator
    Eocarcharia
    Kryptops
    Rugops
    Rajasaurus
    Spinosaurus
    Tyrannosaurus
    Tarbosaurus
    Daspletosaurus
    Gorgosaurus
    Albertosaurus
    Alioramus
    Appalachiosaurus
    Zhuchengtyrannus
    Dryptosaurus
    Alectrosaurus
"""
In [2]:
import re
In [ ]:
# Écrire une regexp qui trouve tous les raptors
In [6]:
for match in re.findall('[A-za-z]+raptor', list_of_dinosaurs):
    print(match)
Velociraptor
Utahraptor
Sinraptor
Megaraptor
In [ ]:
# Écrire une regexp qui trouve tous les 'saure qui commencent avec un A majuscule
In [8]:
for match in re.findall('A[a-z]+saurus', list_of_dinosaurs):
    print(match)
Allosaurus
Acrocanthosaurus
Abelisaurus
Albertosaurus
Appalachiosaurus
Alectrosaurus
In [ ]:
# Écrire une regexp qui trouve les gros (mega) 'saure et raptors
In [16]:
for match in re.finditer('(Mega[a-z]*)(saurus|raptor)', list_of_dinosaurs):
    print('-----')
    print(match.group(), match.start(), match.end())
    print(match.group(1), match.start(1), match.end(1))
    print(match.group(2), match.start(2), match.end(2))
-----
Megaraptor 350 360
Mega 350 354
raptor 354 360
-----
Megalosaurus 463 475
Megalo 463 469
saurus 469 475