RegEx. c'est quoi pour trouver l'inverse ?

RegEx. c'est quoi pour trouver l'inverse ? - C#/.NET managed - Programmation

Marsh Posté le 14-05-2004 à 20:38:18    

existe-t-il un moyen de récuper avec les regular expressions l'inverse d'une expression ?  
 

Reply

Marsh Posté le 14-05-2004 à 20:38:18   

Reply

Marsh Posté le 14-05-2004 à 21:01:23    

donne un exemple de ce que tu veux obtenir.

Reply

Marsh Posté le 14-05-2004 à 21:05:47    

Je veux obtenir tout le texte d'une source html.
J'aimerais donc avoir l'inverse de ce qui est des tags HTML.
Mais je n'y arrive pas.

Reply

Marsh Posté le 14-05-2004 à 21:46:19    

C'est ta notion d'"inverse" que j'ai du mal à saisir...

Reply

Marsh Posté le 14-05-2004 à 21:52:25    

exemple si je veux les lettres  
je peux faire [a-zA-Z]
et pour l'inverse [^a-zA-Z] (c'est pour l'exemple que je prends pas \w et \W.
 
Maintenant je veux que avoir toutes les occurences qui ne sont pas des tags HTML dans un texte.
 
Comme HTML c'est "<[^>]*>" je voulais essayer d'avoir ce qui ne correspond pas à ça.. du genre "^[<[^>]*>]". Mais cela ne fonctionne pas il prend le ^ pour le caractère de début de phrase.

Reply

Marsh Posté le 14-05-2004 à 22:14:59    

Lis les tags et ignore les...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 14-05-2004 à 22:16:27    

ouais mais je veux formater le texte d'une certaine manière..
donc je veux pas toucher aux tags

Reply

Marsh Posté le 14-05-2004 à 22:18:34    

En fait tu veux coder un parser HTML en 1 ligne ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 14-05-2004 à 22:20:23    

en fait ce que je veux faire .. c'est encoder en html le texte et ne pas toucher les tags html.

Reply

Marsh Posté le 14-05-2004 à 22:22:59    

J'arrive pas à te suivre...
Encoder le texte en HTML : donc tu l'as le texte, dépourvu de tags HTML puisque tu veux l'"encoder" en HTML...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 14-05-2004 à 22:22:59   

Reply

Marsh Posté le 14-05-2004 à 22:29:05    

"<[^>]*>"
 
 
vive les quantificateurs non-gourmands :o

Reply

Marsh Posté le 14-05-2004 à 22:34:48    

Taz, as tu lu ce que j'ai écrit en haut...
 
HelloWorld. Je ne veux pas enlever l'html, seulement encoder.
 
Exemple :
Ma chaine est : <font color='black'>L'été va être super</font>. Si j'encode directement je vais avoir
 

Code :
  1. &&lt; font color='black' & gt ; L'& # 233; t & # 233 ; va &#234;tre super & lt; / font & gt;


 
Mais je veux avoir  
< font color='black' > L'& # 233; t & # 233; va &#234;tre super< / font>


Message édité par zetoune le 14-05-2004 à 22:41:11
Reply

Marsh Posté le 14-05-2004 à 22:35:22    

Bon j'ai du mettre des espaces pour eviter que le systeme encode mon html .. c'est ca l'idée


Message édité par zetoune le 14-05-2004 à 22:41:43
Reply

Marsh Posté le 14-05-2004 à 23:04:22    

Citation :

donne un exemple de ce que tu veux obtenir.


:sweat:
Enfin on comprend.
J'en reviens à mon idée d'ignorer les balises... tu identifies les balises que tu n'encode pas...
C'est un programme pour toi ou un boulot ? Je crois que tidy sait le faire ça...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 14-05-2004 à 23:18:17    

c'est pour le job

Reply

Marsh Posté le 17-05-2004 à 11:26:06    

JTidy fait ça très bien.
Tu lis le HTML et tu réécris en XHTML

Reply

Marsh Posté le 26-05-2004 à 14:42:08    

Code :
  1. using System.Text.RegularExpressions;
  2. contenuhtmlparse = Regex.Replace(sourcehtmlnonparse, @"^.*(<body> )(.*)(<\/body> ).*$", "$2" ); //Recupere ce qu'il y a entre <body> et </body>
  3. sourcehtmlparse = Regex.Replace(contenuhtmlparse,@"(<\w*> )(.*)(<\/$1> )","$2" ); // Pas sur mais test...
  4. sourcehtmlparse = Regex.Replace(sourcehtmlparse,@"<","&lt;" );
  5. sourcehtmlparse = Regex.Replace(sourcehtmlparse,@">","&gt;" );
  6. //etc...


 
J'ai pas testé et je suis pas sur que Regex.Replace(sourcehtmlnonparse,@"(<\w*> )(.*)(<\/$1> )","$2" ); recupere bien ce qu'il y a entre les balises de la source html


Message édité par totokick le 26-05-2004 à 14:46:29

---------------
"Un voyage de plusieurs milliers de kilometres commence par un simple pas"
Reply

Sujets relatifs:

Leave a Replay

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