expression reguliere replaceAll()

expression reguliere replaceAll() - Java - Programmation

Marsh Posté le 08-05-2005 à 19:18:55    

Voici une variable : header (String) qui contient

Content-Type: text/plain; charset=UTF-8


je souhaiterai extraire text/plain dans une variable au moyen d'une expression reguliere.
 
voici mon code :

Code :
  1. Pattern p = Pattern.compile("Content-Type:(.+);",Pattern.MULTILINE);
  2. Matcher m = p.matcher(header);
  3. if(m.matches())
  4.         System.out.println(" = "+m.group(1));


 
seulement impossible de retourner quoi que ce soit :(
 
je ne vois absolument pas mon erreur :(


Message édité par azubal le 09-05-2005 à 01:24:23
Reply

Marsh Posté le 08-05-2005 à 19:18:55   

Reply

Marsh Posté le 09-05-2005 à 09:28:40    

essaye ce motif :  
\w*/\w*
 
(pense à échaper les \, cad \\w*/\\w*)
 
il capture n'importe quoi de la forme xxxxxxx/xxxxxxx, pour tout x inclus dans [0-9a-zA-Z]
 
http://www.expreg.com/ (une bonne aide)
http://jakarta.apache.org/oro/demo.html (contient une applet de démo très pratique pour tester)


Message édité par Jubijub le 09-05-2005 à 09:29:34

---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 09-05-2005 à 09:55:52    

Pourquoi ne pas utiliser une vraie bibliothèque pour gérer ton HTTP ? je suis convaincu que tu fais quelquechose qui existe déjà, mais en plus mal.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 09-05-2005 à 11:18:17    

c'est bon, j'ai reussi :

Code :
  1. matcher = Pattern.compile("Content-Type:\\s*([^;|\\r\\n]+)" ).matcher(header);
  2.         if(matcher.lookingAt())
  3.          content = matcher.group(1);


 
pour ce qui est d'utiliser une lib deja existante, pour ce que j'ai besoin de faire (c'est a dire juste cette expression reguliere) ce serait un peut comme utiliser un tank pour tuer une mouche...

Reply

Marsh Posté le 09-05-2005 à 11:33:34    

azubal a écrit :


pour ce qui est d'utiliser une lib deja existante, pour ce que j'ai besoin de faire (c'est a dire juste cette expression reguliere) ce serait un peut comme utiliser un tank pour tuer une mouche...


parce que sortir un compilateur hyper-complexe, un déterminiseur d'automate, un optimiseur et un générateur de parser c'est léger peut-être ????
 
 
c'est quoi le contexte exact ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 09-05-2005 à 12:07:40    

je n'ai pas envie de partir dans des discutions philosophique sur une vulgaire exreg!
le contexte est celui-ci : http://www.hypothetic.org/docs/msn [...] ds.php#msg
je doute que je trouve une lib me permettant de faire exactement ce que je veux...
 
et puis, comme tu le dis toi meme, le java n'est il pas un language assez lourd comme ca pour eviter de l'engraisser un peu plus ? ;)

Reply

Marsh Posté le 09-05-2005 à 12:10:30    

bah justement, une regex, c'est *très* lourd.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 09-05-2005 à 12:13:06    

azubal a écrit :

et puis, comme tu le dis toi meme, le java n'est il pas un language assez lourd comme ca pour eviter de l'engraisser un peu plus ? ;)


Java n'est pas lourd hein :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 09-05-2005 à 12:56:20    

nraynaud a écrit :

bah justement, une regex, c'est *très* lourd.


 
 
et ta super librairie, elle marche sans regex peut etre ?  :D

Reply

Marsh Posté le 09-05-2005 à 12:58:11    

azubal a écrit :

et ta super librairie, elle marche sans regex peut etre ?  :D


oui :o


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 09-05-2005 à 12:58:11   

Reply

Marsh Posté le 09-05-2005 à 16:18:55    

azubal a écrit :

je n'ai pas envie de partir dans des discutions philosophique sur une vulgaire exreg!
le contexte est celui-ci : http://www.hypothetic.org/docs/msn [...] ds.php#msg
je doute que je trouve une lib me permettant de faire exactement ce que je veux...
 
et puis, comme tu le dis toi meme, le java n'est il pas un language assez lourd comme ca pour eviter de l'engraisser un peu plus ? ;)


 
 
si tu veux faire un client msn regarde ici:
http://jmsn.sourceforge.net/
 
t as une lib: msnm.jar  
et la javadoc dispo ici: http://jmsn.sourceforge.net/msnmlib/docs/
 
 
dans ton cas un simple indexOf suffit ...

Reply

Marsh Posté le 09-05-2005 à 16:19:48    

j'oubliait:
 
bon courrage pour le reste , y a pas mal de choses indigeste dans ce protocol :'(

Reply

Marsh Posté le 09-05-2005 à 16:30:16    

très interessant ce topic, dommage que la javadoc concernant jmsn soit en korean :'( j'y comprends rien

Reply

Marsh Posté le 09-05-2005 à 16:32:44    

le nom des methodes suffis dans 90% des cas.
 
et je fait parti de la team maintenant :sol:


Message édité par veryfree le 09-05-2005 à 16:32:58
Reply

Marsh Posté le 09-05-2005 à 16:40:24    

il est vrai que le nom des méthodes peut suffire...
faudra que je regarde un peu les sources ... ;)

Reply

Marsh Posté le 09-05-2005 à 17:19:41    

oui et pourquoi pas crée un topic officiel, y en a bien un sur les forums, pourquoi pas sur les clients msn [:petrus75]
 
[/hs]

Reply

Marsh Posté le 09-05-2005 à 18:24:52    

je ne fais absolument pas un client msn (ni un serveur)
si vous voulez voir les differents projets qui tournent autour du protocole msnp : http://www.hypothetic.org/docs/msn [...] ojects.php

Reply

Sujets relatifs:

Leave a Replay

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