didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
23 sept. 2007 à 11:51
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
27 sept. 2007 à 20:54
Bonjour à tous.
j'ai un petit pb avec les regex. je voudrais pouvoir localiser dans un texte tous les
{ "(" n'importe quoi ")" n'import quoi "(" nimporte quoi ")" }
mais pas
{ "(" n'importe quoi ")" n'import quoi "(" n'importe quoi ")" }
En gros, trouver une parenthèse ouverte et recupérer la position de la parenthèse fermé qui est juste après elle; il peut y avoir d'autre parenthèses ouverte MAIS dès que l'on renconte une parenthèse fermée, c'est fini (On reprend la recherche avec la prochaine parenthèse ouverte).
j'ai fait un code (pas en regex) qui fonctionne, mais je préférerais avoir des regex partout dans mon prog:
//Les positions de début et de fin (s Start et e End)
int s = 0;
int e = 0;
//Pour savoir si on a déjà ouvert une parenthèse
boolean ns = false;
//Le texte dans lequel on cherche
String t = doc.getText(0, doc.getLength());
//On parcours le texte
for (int a=0; a<doc.getLength(); a++) {
//On détecte la première parenthèse (parenthèse d'ouverture)
if ((t.charAt(a) == '(') && !ns) {
s = a;
ns = true;
}
//On détecte le deuxième parenthèse (parenthèse de fermeture)
if ((t.charAt(a) == ')') && ns) {
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 27 sept. 2007 à 13:51
Salut,
voici un exemple de code avec l'utilisation des regex java... bon normalement il devrait résoudre ton problème et alléger le code (parce que ce que tu fais est super lourd je trouve) :
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 26 sept. 2007 à 21:10
RE....
j'avais aussi essayé "(.+)" mais ca ne me correspond pas non plus (car il prend tous les caractères; "(" n'importe quoi ")" n'import quoi "(" n'importe quoi ")").