IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

regexp pour caracteres speciaux


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 258
    Points : 108
    Points
    108
    Par défaut regexp pour caracteres speciaux
    Bonjour,

    j'ai eu beau chercher, je n'ai pas trouvé d'expression régulière qui
    puisse faire ce que je demande.

    Voici un exmple de sortie que j'obtiens et même si le résultat de
    'lastactivatedtoneset' ne ressemble à rien, j'ai besoin de le récupérer,
    seuleument je n'y arrive pas à cause des caractères spéciaux du genre ¡
    °Æ ¼ etc...y a t'il quelque chose qui me permettrait de les lire, merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $3 = {datehour = {decomposeddate = {filler = 0, tayear = 2007, tamonth = 
    2 '\002', taday = 12 '\f', tahour = 15 '\017', tamin = 7 '\a'}, 
    agregateddate = {131530752, 118426626}},
      lastactivatedtoneset = 
    "\224\001¡B\001\000\000\000l\001¡B\001\000\000\000°Æ\227\b1×c\001¼;(\b°Æ\227\b\000\000\000\000à\v¡B\000\000\000\000c\021\027H\000"}
    ---

    merci

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par kenny49
    j'ai eu beau chercher, je n'ai pas trouvé d'expression régulière qui puisse faire ce que je demande.
    Et qu'est-ce que tu lui demandes ? Parce que nous aurons du mal à t'aider sans cela...

    --
    Jedaï

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 258
    Points : 108
    Points
    108
    Par défaut
    Ben en fait j'aimerais un équivalent de \w pour les caractères alphanumériques mais pour les caractères spéciaux de ce genre Æ ¼ etc..

    En fait, il me faut 'quelque chose' qui comprenne le caractère spécial pour pas que j'ai une erreur de ce type lorsque je parse le fichier

    didn't match at gdb2xml/gdb2xml.pl line 94, <GDB_LOG> line 5.

    Merci

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par kenny49
    Ben en fait j'aimerais un équivalent de \w pour les caractères alphanumériques mais pour les caractères spéciaux de ce genre Æ ¼ etc..

    En fait, il me faut 'quelque chose' qui comprenne le caractère spécial pour pas que j'ai une erreur de ce type lorsque je parse le fichier

    didn't match at gdb2xml/gdb2xml.pl line 94, <GDB_LOG> line 5.

    Merci
    Il serait peut-être plus simple de savoir ce que tu considères un "caractère normal" : un caractère ASCII (les caractères de contrôle sont-ils inclus) ? un caractère dans la portée 0-255 ? Les chiffres, les lettres et quelques symboles ?

    --
    Jedaï

  5. #5
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 258
    Points : 108
    Points
    108
    Par défaut
    Merci pour tes réponses déjà.

    Ce que j'appelle un caractère spécial, c'est en gros un caractère que tu ne vois pas sur ton clavier, c'est pas tous les jours que t'utilises un AE collé ou un ¼.

    Pour ne prendre que cet exemple, est il possible de faire en perl un m/¼/. Perl les accepte t'ils au moins.

    Le plus simple serait de savoir si il y a une expression qui accepte n'importe quel caractère.

    Pour résumer :
    Tu as une équivalence [a-zA-Z0-9_] = \w
    Y en a t'il une pour [Ƽ....etc...] = ??

    Ou bien y a t'il à la rigueur une [...] avec tous les caractères spéciaux dedans. Ca ferait une longue chaine mais pourquoi pas.

    Je peux pas faire plus simple comme explication :-/

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par kenny49
    Ce que j'appelle un caractère spécial, c'est en gros un caractère que tu ne vois pas sur ton clavier, c'est pas tous les jours que t'utilises un AE collé ou un ¼.
    Désolé, mais cette définition est rien moins qu'insuffisante... Nous sommes en informatique là, pas en dissertation, un "caractère que tu ne vois pas sur ton clavier" ? Sur quel clavier ? Le clavier français, le néerlandais, l'américain ? Et encore, la plupart des clavier permettent de faire des caractères vraiment inhabituels si on connait les raccourcis ¤ ou £ font-il également partie des caractères normaux selon toi ? Et é, à û ÿ ç ? § ?

    Citation Envoyé par kenny49
    Pour ne prendre que cet exemple, est il possible de faire en perl un m/¼/. Perl les accepte t'ils au moins.
    Evidemment, tu peux mettre n'importe quel caractère dans une regex, Perl permet même d'écrire son script en Unicode, on peut avoir des variables avec des noms en japonais ou en chinois si on veut. Du moins à partir de la version 5.8 (avant, la prise en charge d'Unicode était moins pratique, mais à moins que je ne me trompe ton problème n'est même pas Unicode mais un des sets de caractère européen).

    #!/usr/bin/perl
    use strict; use warnings;

    use utf8;

    my $日本国 = "Japon !\n";

    print $日本国;

    __END__


    Citation Envoyé par kenny49
    Pour résumer :
    Tu as une équivalence [a-zA-Z0-9_] = \w
    Y en a t'il une pour [Ƽ....etc...] = ??
    Si tu n'arrive même pas à définir ce que sont les caractères de cette classe comment veux-tu que je te dise s'il y a une telle classe ?

    A mon avis tu ferais mieux de procéder par exclusion comme je te l'ai proposé : détermine ce que tu appelles caractères "normaux", et prend le reste de tes caractères comme anormaux. ( par exemple le complémentaire de \w est noté [^\w] )

    --
    Jedaï

Discussions similaires

  1. [MySQL] Probleme de format pour caracteres speciaux
    Par jubourbon dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 11/07/2012, 15h39
  2. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 12h24
  3. [MySQL] Script pour modifier les caracteres speciaux dans la bdd
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/09/2005, 13h07
  4. [langage] Caractères spéciaux
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2003, 10h39
  5. insertion caracteres speciaux html
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2003, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo