Bonjour tous le monde
je ne sais pas si c'est le bon forum, mais j'espere trouvé ici un peu d'aide pour mon probleme
j'ai ecris une fonction pour traiter des textes avec des expressions regulieres, et surtout donner à l'utilisateur la posibilité de tester ses expressions comme il veus, donc si c'est bon, il a le resultat sinon il 'a le message que la regex est fause.
voila mon code.
j'etulise le package
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
28
29
30
31
32
33
34
35
36
37
38
39
40 public void B_result_actionPerformed(ActionEvent e) { String text = this.Edit_msgTxt.getText(); ComboResult.removeAllItems(); String regex =Edit_Regex.getText(); RE r = null; try{ r = new RE(regex); }catch(RESyntaxException REex) {ComboResult.addItem(REex);} Boolean bool=false; bool= r.match(text); if(bool) { String str=""; for (int i = 0; i < r.getParenCount(); i++) { if(r.getParenLength(i)>0) { str=r.getParen(i); } else { str="NO MATCH"; } ComboResult.addItem(i+") "+str); }//end for }//end if else { ComboResult.addItem("Failed match"); } }
mon probleme est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 org.apache.regexp.RE
la procedure marche dans la majorité des cas super bien, danc renvoi les groupe quand ça match sinon "Failed match" dans le cas contraire.
mais parfois l'apllication block suret là c'est la cata, il faut se servir du gestionnaire des taches pour terminer l'application. en plus j'ai aucune exception de retour. si comme s'il est rester bloquer dans une boucle dans la fonction match(texte).
Code : Sélectionner tout - Visualiser dans une fenêtre à part r.match(text);
est ce que quelq'un à déjà eu ce problemme avec cette classe "org.apache.regexp.RE" ou bien qu"il peu m'aider à voir plus clair sur le sujet.
merci d'avance
Partager