je travaille actuellement sur les regex en Java. j'ai un ptit pb. le code suivant marche super bien.
Mais kand je lis le meme regex , stocké dans un fichier xml, en le remplaçant just là, la fonction
marche plus.
Impossible d'identifier le regex "Chaine non trouvée" à tous les coups
public class Main {
public static void main(String[] args) {
String word = " public static void main( String[] args )";
String regex;
regex = "((public)((\\s+)*)(static)((\\s+)*)(void)((\\s+)*)(main)(\\()((\\s+)*)(String)(\\[)(\\])((\\s+)*)((?:[a-z][a-z0-9_]*))((\\s+)*)(\\)))";
String re2 = "((\\" + "\\s+)*)", re1 = "(.*?)";
regex += re2 + re1;
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(word);
if (matcher.find())
System.out.println("chaine trouvée");
else
System.out.println("chaine non trouvée");
}
}
/* ---------------------------*/
Mon fichier XML je le lis assez simplement. en utilisant le package jdom. la fonction est la suivante.
Mon fichier est kom suit:
<?xml version="1.0" encoding="utf-8"?>
<language name="java" endInstr=";">
<keyword><key>pbl</key><word>myregex</word></keyword>
/*-----------------------------------------------------*/
SAXBuilder sxb = new SAXBuilder();
try {
document = sxb.build(new File(path));
}
catch(Exception e){
System.out.println("le fichier peut pas etre ouvert");
System.out.println(e.getMessage());
}
racine = document.getRootElement();
Iterator<?> i = racine.getChildren("keyword").iterator();
while (i.hasNext()) {
elt = (Element)i.next();
System.out.println(elt.getChild("key").getText() + ", " + elt.getChild("word").getText());
}
/*------------------------------------------------------*/
i need ur help
Pb regex Java
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.