Quel tutoriel lisiez-vous? Celui du soleil aborde ce sujet de manière assez approfondie, mais vous devez le lire correctement :)
La capture d'une partie d'une chaîne se fait à travers les parenthèses. Si vous voulez capturer un groupe dans une chaîne, vous devez mettre cette partie de l'expression régulière entre parenthèses. Les groupes sont définis dans l'ordre dans lequel les parenthèses apparaissent, et le groupe avec l'index 0 représente la chaîne entière.
Par exemple, l'expression rationnelle "Day ([0-9] +) - Note ([0-9] +)" définirait 3 groupes:
- groupe (0): la chaîne complète
- groupe (1): le premier groupe dans l'expression rationnelle, à savoir le nombre de jours
- groupe (2): le deuxième groupe dans l'expression rationnelle, à savoir la note numéro
En ce qui concerne le code réel et comment récupérer les groupes que vous avez définis dans votre regexp, consultez la documentation Java, en particulier la classe Matcher et sa méthode de groupe: http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Matcher.html
Vous pouvez tester votre regexps avec cet outil très utile: http://www.cis.upenn.edu/~matuszek/General/RegexTester/regex-tester.html
Hope this aidé, Vive
Je ne comprends pas le concept de groupe. disons que j'ai une chaîne "Mon nom est Michael Jackson, son nom est Barack Obama". Et je veux capturer "Michael Jackson" et "Barack Obama". Comment fait-on ça? – Saobi
@Saobi: notez les parenthèses !!!! –
Ok. Je l'ai. J'ai eu un autre plus difficile: Est-ce que xxx xxx xxx (pourrait être un nombre de mots) vivent ou meurent? Je veux capturer: xxxxxx, vivre, mourir. Comment faire? – Saobi