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 :

[Regex]Expression régulière


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut [Regex]Expression régulière
    Bonjour,

    Je cherche à analyser une fichier source cobol, je souhaite reconnaître l'expression "PROCEDURE DIVISION". Pour cela j'utilise le pattern suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern pattern = Pattern.compile( "$^.*?(?i)\\bprocedure\\b.\\p{Space}.(?i)\\bdivision\\b.*", Pattern.DOTALL | Pattern.MULTILINE  );
    Cette expression est précédée de blancs et seulement de blanc.
    J'ai essayé sans la fin de ligne et début de ligne, rien à faire, ça ne veut pas...

    Quelqu'un saurait-il m'aider ? Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 104
    Par défaut
    Proposition non garantie prenant comme hypothèse qu'une ou plusieurs lignes sont passées au matcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern pattern = Pattern.compile( "^\\p{Space}*procedure\\p{Space}+division.*$", Pattern.MULTILINE | Pattern.CASE_INSENSITIVE );
    • ^\\p{Space}* pour reconnaître des "blancs" en début de ligne
    • procedure
    • \\p{Space}+ pour au moins un "blanc"
    • division
    • .*$ pour accepter n'importe quoi jusqu'à la fin de ligne

    Je n'ai pas mis DOTALL car je n'utilise pas . entre procedure et division et j'ai mis CASE_INSENSITIVE pour éviter les (?i).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut
    pk960, ton hypothèse est bonne.
    En effet, j'ai oublié les blancs en début de ligne (comme quoi écrire le problème et se relire ça fait avancer les choses).
    Hélas ça ne fonctionne pas

    : Quelle est la taille maximale d'un object String ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut
    Après avoir relu mon algo, j'ai constaté qu'il n'était pas bon

    Nos solutions sont toutes les deux correctes

    Je n'ai pas mis DOTALL car je n'utilise pas . entre procedure et division et j'ai mis CASE_INSENSITIVE pour éviter les (?i).
    J'aurais au moins appris ta manière de faire

    Merci encore pour ta disponibilité.
    ++

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    Quelle est la taille maximale d'un object String ?
    Integer.MAX_VALUE
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut
    Merci de ta réponse bouye

    Je comprend mieux pourquoi un fichier de quelques milliers de lignes ne tenait pas dans un String

    Quelle idée d'ailleurs... Ca marche mieux avec un tableau de String

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    Le probleme est le meme pour tous les containers disposant d'un index (tableau, CharSequence, collections, certains flux, ...) et/ou d'un tableau en interne.

    Mais bon en general 2^31-1 index (2 milliards +) c'est deja pas si mal.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. [Débutant][Regex] Expression régulière adaptée
    Par hm1ch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/06/2007, 21h50
  2. débutant regex expression reguliere
    Par mhamedbj dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2007, 18h44
  3. [REGEX]Expression régulière
    Par tomca dans le forum Langage
    Réponses: 2
    Dernier message: 10/10/2005, 11h01
  4. [Regex] Expressions régulières: sous groupe
    Par debdev dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 07/07/2005, 14h10
  5. [RegEx]Expression régulière
    Par Sniper37 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/06/2005, 11h18

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