Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Les Fonctions Du Module


La méthode précédente peut se résumer comme suit :

  1. Compiler une expression rationnelle, ce qui instancie un objet RegexObject.
  2. Utiliser une de ses méthodes (match(), search(), findall(), ...) pour créer un objet MatchObject,
  3. Obtenir les correspondances, en utilisant une méthode de la classe MatchObject.

On peut procéder différemment, plus rapidement, en utilisant les fonctions de haut-niveau du module re.

Ce dernier propose, en effet, des fonctions match(), search(), sub(), etc. directement exploitables, comme le montre l'exemple suivant :

  >>> print re.match(r'From\s+', 'Fromage amk')
  None
  >>> re.match(r'From\s+', 'From amk Thu May 14 19:12:10 1998')
  <re.MatchObject instance at 80c5978>
  >>> re.findall(r'\d+', 'From amk Thu May 14 19:12:10 1998')
  [14, 19, 12, 10, 1998]

Bien sûr, ces méthodes font exactement la même chose : création d'un objet RegexObject, puis d'un objet MatchObject, et stockage de l'expression compilée dans le cache (pour une utilisation future plus rapide).

Quelle méthode choisir ?

  • Si l'expression rationnelle ne doit être utilisée qu'une fois ou deux, la seconde méthode est plus simple.
  • Si plein d'expressions rationnelles doivent être utilisées, à plein d'endroit, il vaut mieux choisir la première méthode. On pourrait ainsi réserver une partie du programme à la compilation des expressions rationnelles, pour gagner en clarté :
  ref = re.compile( ... )
entityref = re.compile( ... )
  charref = re.compile( ... )
  starttagopen = re.compile( ... )

Page Actions

Recent Changes

Group & Page

Back Links