Forum Programmation.python méthode string.find et mot entier

Posté par  .
Étiquettes : aucune
0
13
oct.
2004
lorsque l'on utilise la methode find ( string.find (text1, text2) ) en python, est-il possible de spécifier que l'on veut chercher un mot entier ou faut-il obligatoirement pour ce faire passer par des expressions régulières (re) comme dans cet exemple : http://www.faqs.org/docs/diveintopython/dialect_re.html(...) ?
  • # re.match

    Posté par  . Évalué à 1.

    question annexe, concernant re
    pourquoi
    re.match(r'\blinux\b', 'linux et windows')
    ne 'matche' pas ?
    Ca colle pourtant avec ceci : http://fr.diveintopython.org/dialect_re.html(...) ?
    • [^] # Re: re.match

      Posté par  . Évalué à 1.

      RTFM
      Voir http://fr.diveintopython.org/roman_refactoring.html(...) .
      Explication : renvoi un objet si ok et None sinon.

      A part ça, ma question sur Find tient tjrs ;-)
    • [^] # Re: re.match

      Posté par  (site web personnel) . Évalué à 3.

      Pour la première question, il me semble que string.find ne s'occupe absolument pas de ce qu'il peut y avoir avant ou après.
      Donc, à toi de voir s'il faut utiliser re dans ton cas.

      Pour la question annexe, je ne comprends pas très bien. Quand je copie/colle ta ligne :
      >>> re.match(r'\blinux\b', 'linux et windows')
      <_sre.SRE_Match object at 0x4021f6b0>

      J'ai donc bien un match...
      • [^] # Re: re.match

        Posté par  . Évalué à 1.

        > J'ai donc bien un match...

        Oui, en fait, je n'avais pas bien compris le fonctionnement de la fonction. Je pensais que ça fonctionnait un peu comme les regexp en PHP qui renvoient true / false (ou quelque-chose du genre).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.