Subversion Repositories eFlore/Applications.coel

Rev

Rev 728 | Rev 885 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 728 Rev 744
Line 16... Line 16...
16
		"(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";// Domaine
16
		"(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";// Domaine
Line 17... Line 17...
17
	
17
	
18
	/**
18
	/**
19
	 * Méthode similaire à la méthode : java.util.Pattern.quote().
19
	 * Méthode similaire à la méthode : java.util.Pattern.quote().
-
 
20
	 * java.util.Pattern n'est pas implémenté par GWT.
20
	 * java.util.Pattern n'est pas implémenté par GWT.
21
	 * Nous protégeons les caractères spéciaux.
21
	 * 
22
	 * 
22
	 * @link http://java.developpez.com/faq/java/?page=langage_chaine
23
	 * @link http://java.developpez.com/faq/java/?page=langage_chaine
23
	 * @param s
24
	 * @param chaine
24
	 * @return
25
	 * @return
25
	 */
26
	 */
26
	public static String quote(String s) {
-
 
27
		int slashEIndex = s.indexOf("\\E");
-
 
28
		if (slashEIndex == -1)
27
	public static String quote(String chaine) {
29
			return "\\Q" + s + "\\E";
28
		chaine.replace("\\", "\\\\");
30
 
29
		
31
		StringBuffer sb = new StringBuffer(s.length() * 2);
-
 
32
		sb.append("\\Q");
-
 
33
		slashEIndex = 0;
-
 
34
		int current = 0;
30
		String[] caracteresSpeciaux = {".", "$", "[", "]", "(", ")", "{", "}", "^", "?", "*", "+", "-"};
35
		while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
31
		for (int i = 0; i < caracteresSpeciaux.length; i++) {
36
			sb.append(s.substring(current, slashEIndex));
-
 
37
			current = slashEIndex + 2;
-
 
38
			sb.append("\\E\\\\E\\Q");
32
			chaine = chaine.replace(caracteresSpeciaux[i], "\\"+caracteresSpeciaux[i]);
39
		}
-
 
40
		sb.append(s.substring(current, s.length()));
-
 
41
		sb.append("\\E");
33
		}
42
		return sb.toString();
34
		return chaine;
43
	}
35
	}
44
}
36
}