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

avec Java Discussion :

Trouver la bonne expression régulière


Sujet :

avec Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2009
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 137
    Points : 157
    Points
    157
    Par défaut Trouver la bonne expression régulière
    Bonjour, j'ai un petit problème avec mon expression régulière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    int idx = 1;
    String result = "";
     
    String LinkRE = "(<[Aa][^>]*onclick=\"bookmark_onclick[^>]*>)";
     
    Pattern p = Pattern.compile(LinkRE);
     
    content = "<a onclick=\"bookmark_onclick='orga_du_plan_de_devt'; \" "
    + "href=\"javascript:void();\" target=\"_blank\">et mis en place &nbsp</a>&nbsp;"
    + "<a onclick=\"bookmark_onclick='orga_du_plan_de_devt'; \" "
    + "href=\"javascript:void();\" target=\"_blank\">et mis en place &nbsp</a>";
     
    Matcher m = p.matcher(content);
    boolean b = m.matches();
     
    if (b) {
    	for (int i = 0; i < m.groupCount(); i++) {
    	String str = m.group(i);
    	str.replaceAll("<a", "<a class=\"pagelink\"");
    	str.replaceAll("href=\"javascript:void();\"", "");
    	result = result + content.substring(idx, m.start() - idx) + str;
    	idx = m.start() + m.end();
    	}
    		result = result + content.substring(idx);
    }
     
    return content;
    Mon but est de repérer tous les <a onclick="bookmark_onclick... > pour pouvoir les modifier. Seulement mon expression régulière ne fonctionne uniquement si je ne pose qu'un seul <a ...> sans le fermer. En gros si j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    content ="<a onclick=\"bookmark_onclick='orga_du_plan_de_devt'; \" "
    + "href=\"javascript:void();\" target=\"_blank\">et mis en place &nbsp</a>&nbsp;"
    + "<a onclick=\"bookmark_onclick='orga_du_plan_de_devt'; \" "
    + "href=\"javascript:void();\" target=\"_blank\">et mis en place &nbsp</a>";
    En Delphi, l'expression qui fonctionne est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LinkRE = '(?g)(<[Aa][^>]*onclick="bookmark_onclick[^>]*>)';
    Un coup d'oeil dans la librairie de Delphi permet de voir que (?g) siginifie : Modifier non standard. En le mettant à Off vous spécifier de mettre tous les opérateurs en mode non-vorace (par défaut, ce modifier est à On). Aussi, si le modifier /g est à Off, alors '+' fonctionne comme '+?', '*' comme '*?' et ainsi de suite...

  2. #2
    Membre expérimenté

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Points : 1 672
    Points
    1 672
    Par défaut
    Je crois que ton problème vient plutôt de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean b = m.matches();
    Lis attentivement la javadoc, et regarde si tu ne devrais pas plutôt utiliser

Discussions similaires

  1. trouver le dernier : expressions régulière
    Par vidici dans le forum Langage
    Réponses: 13
    Dernier message: 16/11/2014, 18h09
  2. A la recherche de la bonne expression régulière
    Par sylvebarbe78 dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 20/02/2009, 15h53
  3. Expression régulière, laquelle est la bonne ?
    Par JackBeauregard dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2006, 18h20
  4. [RegEx] Expression régulière pour trouver des mots
    Par cbroissa dans le forum Langage
    Réponses: 7
    Dernier message: 26/05/2006, 23h39
  5. [RegEx] Trouver la bonne expression reguliere
    Par Dargos dans le forum Langage
    Réponses: 14
    Dernier message: 04/04/2006, 15h02

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