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

Collection et Stream Java Discussion :

Regexp : Trouver ? dans un String


Sujet :

Collection et Stream Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 165
    Points : 73
    Points
    73
    Par défaut Regexp : Trouver ? dans un String
    Bonjour,

    Mon but est de repérer les caractères non-autorisé par microsoft pour le nommage de fichiers... donc ? \ " < > / : * |
    Mais je n'arrive pas à match un "?" dans mon String avec cette expression simple pour tester : [\\?]
    Pouvez-vous m'aider ?

    Cordialement,

    rXp

  2. #2
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    J'ai testé ça marche : \? en expression régulière ce qui donne en java "\\?" en java et non ("\\\\?")

    Ce site est pas mal pour tester rapidement une regex :
    http://www.regexplanet.com/simple/index.html

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 165
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par NicoL__ Voir le message
    J'ai testé ça marche : \? en expression régulière ce qui donne en java "\\?" en java et non ("\\\\?")

    Ce site est pas mal pour tester rapidement une regex :
    http://www.regexplanet.com/simple/index.html
    J'emploie aussi ce site pour tester :
    [\?] avec MOT?MOT ne match pas.

  4. #4
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 574
    Points : 15 538
    Points
    15 538
    Par défaut
    A noter qu'a l'intérieur des crochets, tous les caractères spéciaux comme le '?', '*', '{', '}', ... perdent leur signification particulière. Utiliser une séquence d’échappement ne pose pas de soucis, mais c'est inutile.

    Les seuls caractères qui ont vraiment besoin d'être échappés entre les crochets sont les crochets eux mêmes et bien sur le '\'.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 165
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Uther Voir le message
    A noter qu'a l'intérieur des crochets, tous les caractères spéciaux comme le '?', '*', '{', '}', ... perdent leur signification particulière. Utiliser une séquence d’échappement ne pose pas de soucis, mais c'est inutile.

    Les seuls caractères qui ont vraiment besoin d'être échappés entre les crochets sont les crochets eux mêmes et bien sur le '\'.
    D'accord mais si je fais [/|\\:*?><] il n'arrive pas a matche MOT?MOT ou MOT? ou ?MOT mais juste ? marche.
    Ai-je fais une erreur ?

  6. #6
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 084
    Points
    7 084
    Par défaut
    Si tu utilises la méthode "matches", il compare l'expression régulière avec l'ensemble de la chaîne.

    1. Soit tu utilises la méthode "find"
    2. Soit tu modifies ton expression régulière pour qu'elle "capture" TOUS les autres caractères

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/02/2008, 14h36
  2. Réponses: 10
    Dernier message: 14/04/2007, 18h57
  3. Réponses: 1
    Dernier message: 26/08/2006, 09h18
  4. [String] trouver caractère dans un string
    Par mariemor64 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 05/05/2006, 17h14
  5. [VBA-E] trouver caractere dans un string
    Par gigs dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/04/2006, 14h12

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