Expression régulière

Résolu
Bonjour

Savez vous ce que signifie l'expression régulière '/\(\'([^\']+)/'
J'avoue que je ne comprends pas bien
Merci à ceux qui pourront me répondre
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Modérateur
    [^\'] tout caractère autre que \ ou '
    [^\']+ suite de 1 à n caractères autres que \ ou '
    ([^\']+) stocker la la suite de 1 à n caractère autre que \ ou '
    /\(\' .... / : la chaîne commence par /(' et fini par /.

    A noter que si c'est un sed les / de début et fin servent en fait à délimiter l'expression régulière.
    http://veille-srv.inist.fr/dilib/v04Veille/Documentation/UnixShell/sed.fre.html

    Exemple:
    s/É/É/g

    signifie remplace (s/) tous (/g) les É par des É

    Bonne chance
    0
    1. Modérateur
      Salut,

      il faut savoir avec quel outils tu utilises ta regex

      Dans une classe de caractère \ à un comportement un peu spécial comme d'ailleurs par tout.
      Donc même à l'intérieur d'une classe pour reconnaître un \ il faut le doubler avec un \ donc \\ ce qui donne [^\\]

      Si je prends le cas [^\'] alors si l'interpretation que Miss a donné est correcte on pourrait écrire [^'\] mais on risque d'avoir des surprises puisqu'en ce moment le \ va permettre de reconnaître ] en tant que caractère, donc il ne s'agit plus d'une classe de caractère

      En bref dans ton cas l'apostrophe simple à un \ avant qui n'es pas vraiment nécessaire pour ne pas le reconnaître. C'est suffisant [^']

      Mais comme l'a bien precisé Miss il faut savoir avec quel outils tu utilises cette regex.
      Pour Perl voilà la traduction

      '/\(\'([^\']+)/'

      reconnaître une paranthèse ouvrante suivi d'un apostrophe simple et ensuite il faut capturer tout les caractères non énumére par la classe (dans notre cas il s'agit d'apostrophe simple) une fois minimum, autant que tu peux maximum

      si c'est pour sed on tombe sur une autre situation, il s'agit de l'interprétation par le shell en plus de sed

      En bref, pour avoir une explication plus claire il faut nous dire quel outils t'utilise pour cette regex.
      Merci.
      0
      1. eee je ne sais pas... je suis désolé.
        je n'ai pas installé les outils.
        de plus je ne connais pas bien le fonctionnement du php
        je ne suis donc vraiment pas sur de bien répondre...

        merci quand même
        0
    2. Modérateur
      Salut,

      de plus je ne connais pas bien le fonctionnement du php
      je ne suis donc vraiment pas sur de bien répondre...


      Ben, tu viens de repondre, c'est du php :-))
      Et les regex sont plutôt proches de Perl :-)
      0