Récuperer chaine entre délimiteur regex JAVA
hulkCoder
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je voudrais pouvoir récupérer une chaine de caractères en java avec une expression régulière.
Exemple, j'ai la chaine : <TAG> 21 32 53 23 </TAG>
Je voudrais pouvoir récuperer la chaine : TAG
Merci à tous.
Je voudrais pouvoir récupérer une chaine de caractères en java avec une expression régulière.
Exemple, j'ai la chaine : <TAG> 21 32 53 23 </TAG>
Je voudrais pouvoir récuperer la chaine : TAG
Merci à tous.
A voir également:
- Récuperer chaine entre délimiteur regex JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Recuperer message whatsapp supprimé - Guide
- Eclipse java - Télécharger - Langages
- Chaine tnt gratuite sur mobile - Guide
3 réponses
L'utilisation des expressions régulières serait maladroite pour faire ce que tu veux, car cela ne prendrait pas en compte l'imbrication des balises, il te faudrait un automate à pile pour faire le traitement (pour compter le nombre de balises ouvertes et fermées), ce ne serait donc pas une expression rationnelle !
Malheureusement, la regex est imposée.
De plus, en fait, ce qu'il faudrais faire serait ceci...
example a plusieurs chiffres..
<TAG> 31 42 6 74 </TAG>
Récupéré: TAG, 31, 42, 6, 74
<TAG> 31 42 6 74 104 201</TAG>
Récupéré: TAG, 31, 42, 6, 74, 104, 201
De plus, en fait, ce qu'il faudrais faire serait ceci...
example a plusieurs chiffres..
<TAG> 31 42 6 74 </TAG>
Récupéré: TAG, 31, 42, 6, 74
<TAG> 31 42 6 74 104 201</TAG>
Récupéré: TAG, 31, 42, 6, 74, 104, 201
Tu peux commencer comme ceci (à améliorer)
String str = "<TAG> 21 32 53 23 </TAG>"; String regex = "[\\<](\\w+)[\\>]([\\s\\d]*)[\\<][/](\\w+)[\\>]"; Matcher matcher = Pattern.compile(regex).matcher(str); while (matcher.find()) { for (int i=1; i<=matcher.groupCount(); i++) System.out.println(matcher.group(i)); System.out.println(); }