Les regexp c'est bien pratique, mais parfois ça me fait tourner en bourrique.
Code :
- import java.util.regex.*;
- public class ImageTagParser
- {
- public static void main(String args[])
- {
- System.out.println("recherche 1:" );
- ImageTagParser.parseForImageTag("dfgdkgjnbdfkjgdkgjbd<img src='hello.gif'><IMG src='ground.gif'>yo!!<img SRC=\"control.gif\"><img src='stepping.gif'>" );
- System.out.println("recherche 2:" );
- ImageTagParser.parseForImageTag("dfgdkgjnbdfkjgdkgjbd<img src='hello.gif'>\r<IMG src='ground.gif'>\r\n yo!!<img SRC=\"control.gif\">\r\n<img src='stepping.gif'>" );
- }
- public static void parseForImageTag(String html)
- {
- Pattern p = Pattern.compile("(<img src=['\"])(.*)(['\"]> )", Pattern.CASE_INSENSITIVE);
- Matcher m = p.matcher(html);
- while (m.find())
- {
- System.out.println(m.group(2));
- }
- }
- }
|
Comme vous le voyez je cherche toutes les adresses d'image dans une chaine html.
Quand il y a un tag image par ligne, ça fonctionne, quand il y en plusieurs, ça ne fonctionne plus: il n'arrive pas à trouver le '>' fermant le tag.
Alors ça doit pas être bien compliqué, mais là j'ai du mal (une bouteille de jus de raisin fermenté de 1997 n'est ptête pas étrangère à mes difficultés... ).
Alors si vous voyez ce qui cloche...
merci les pti gars!
Krosso