Expressions régulières

Expressions régulières - Java - Programmation

Marsh Posté le 17-09-2002 à 23:11:46    

Les regexp c'est bien pratique, mais parfois ça me fait tourner en bourrique.
 

Code :
  1. import java.util.regex.*;
  2. public class ImageTagParser
  3. {
  4. public static void main(String args[])
  5. {
  6.  System.out.println("recherche 1:" );
  7.  ImageTagParser.parseForImageTag("dfgdkgjnbdfkjgdkgjbd<img src='hello.gif'><IMG src='ground.gif'>yo!!<img SRC=\"control.gif\"><img src='stepping.gif'>" );
  8.  System.out.println("recherche 2:" );
  9.  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'>" );
  10. }
  11. public static void parseForImageTag(String html)
  12. {
  13.  Pattern p = Pattern.compile("(<img src=['\"])(.*)(['\"]> )", Pattern.CASE_INSENSITIVE);
  14.  Matcher m = p.matcher(html);
  15.  while (m.find())
  16.  {
  17.   System.out.println(m.group(2));
  18.  }
  19. }
  20. }


 
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...  :pt1cable: ).  
Alors si vous voyez ce qui cloche...
 
merci les pti gars!
 
Krosso
 

Reply

Marsh Posté le 17-09-2002 à 23:11:46   

Reply

Marsh Posté le 18-09-2002 à 08:53:50    

Bon j'ai cuvé mon vin, et trouvé la solution à mon pbm:
 
Pattern p = Pattern.compile("(<img src=['\"])(.*?)(['\"]> )", Pattern.CASE_INSENSITIVE);
 
 
hum, désolé, je recommencerai pas  :ange:  
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed