Bonjour j'ai un petit problème au niveau des expressions régulières. J'essaye de renvoyer une chaine de caractère qui serait de cette forme là : <123456789@monentreprise.fr> pour cela je fais cette méthode :

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
 
package toto;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class TestRegexp {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
 
		Pattern pattern;
		Matcher matcher;
		String passwdEncrypted;
 
		pattern = Pattern.compile("^<*>$");
		matcher = pattern.matcher("+OK bonjour <12356@monentreprise.com>");
		passwdEncrypted = matcher.group();
		System.out.println(passwdEncrypted);
	}
 
}
le problème c'est que ça me renvoit la chose suivante :

Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:461)
at java.util.regex.Matcher.group(Matcher.java:421)
at toto.TestRegexp.main(TestRegexp.java:19)
Est ce que quelqu'un pourrait me dire ce qui cloche s'il vous plait ? car normalement si j'ai bien compris le caractère ^ représente le début de chaine, donc je recherche bien le < en premier, ensuite l'étoile représente n'importe quel nombre de caractère et je referme avec le > en précisant le $ pour dire que c'est la fin.

Merci de votre aide.