begin process at 2010 02 09 20:27:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

Regex tout ce qui se trouve entre les balises...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Regex tout ce qui se trouve entre les balises...

jeudi 30 novembre 2006 à 13:26:40 | Regex tout ce qui se trouve entre les balises...

medicair

Bonjour, le regex suivant me retourne vrai pour toutes les balises script y compris leurs contenu d'une page .

<script[^>]*>(.|\n)*?</script[^>]*>(\r\n)?

Je souhaite en réalité qu'il me retourne vrai pour exactement l'inverse c'est a dire tout ce qui n'est pas entre les balises script.

Pourriez-vous m'aider ?

D'avance merci

SDA

jeudi 30 novembre 2006 à 13:56:05 | Re : Regex tout ce qui se trouve entre les balises...

sebmafate

Membre Club Administrateur CodeS-SourceS
J'ai pas bien compris...

tu veux tester qu'une chaine n'est pas compris entre les balises script ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft MVP Visual C#]

jeudi 30 novembre 2006 à 14:08:16 | Re : Regex tout ce qui se trouve entre les balises...

medicair

Je souhaite récupérer tout ce qui ne se situe pas dans les balises scripts sachant qu'il y en a plusieurs dans la page ex :

<div>récupe la balise div + son contenu</div>
<script>vire la balise script+ son contenu</script>
<im>récupe la balise im + son contenu</im>
<script>vire la balise script+ son contenu</script>
<table>récupe la balise table + son contenu</table>

en somme le regex que je cherche devrait récupérer

<div>récupe la balise div + son contenu</div>
<im>récupe la balise im + son contenu</im>
<table>récupe la balise table + son contenu</table>

encore merci

SDA

jeudi 30 novembre 2006 à 14:14:51 | Re : Regex tout ce qui se trouve entre les balises...

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
ok... dans ce cas, le mieux est d'utiliser un replace avec la regex précédente...

string outputString = Regex.Replace(inputString, @"<script[^>]*>(.|\n)*?</script[^>]*>(\r\n)?", string.Empty);

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft MVP Visual C#]

jeudi 30 novembre 2006 à 14:50:58 | Re : Regex tout ce qui se trouve entre les balises...

medicair

Ha, effectivement c'est parfait ! merci, et comment récupérer uniquement les balises script et leur contenu ?

merci Seb

SDA

jeudi 30 novembre 2006 à 14:57:30 | Re : Regex tout ce qui se trouve entre les balises...

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Utilise toujours ta regex comme ceci :

MatchCollection matches = Regex.Matches( inputString, @"<script[^>]*>(.|\n)*?</script[^>]*>(\r\n)?");

Maintenant la collection matches contient l'ensemble des résultats trouvés.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft MVP Visual C#]

jeudi 30 novembre 2006 à 15:13:55 | Re : Regex tout ce qui se trouve entre les balises...

medicair

Merci à toi !

SDA

jeudi 30 novembre 2006 à 15:22:28 | Re : Regex tout ce qui se trouve entre les balises...

sebmafate

Membre Club Administrateur CodeS-SourceS
De rien... j'adore les regexes :)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft MVP Visual C#]

jeudi 30 novembre 2006 à 18:41:42 | Re : Regex tout ce qui se trouve entre les balises...

medicair

Réponse acceptée !

en fait je ne fait pas du tout de CSharp, et je te remercie bien de m'avoir éclairé, j'ai tout de meme pu adapter pour VB, voici ma fonction qui sait peut être utile pour d'autres.

Function Recupsript(html,conf)
' si conf = 1, temp recupère toutes les balises script sinon récupère le reste
   Dim Regex
   Dim Matche
   Dim Matches
   Dim RetStr

   Set Regex = New RegExp

   Regex.Pattern = "<script[^>]*>(.|\n)*?</script[^>]*>(\r\n)?"
   Regex.IgnoreCase = True
   Regex.Global = True

  If (Regex.Test(html) = True) Then
          If conf="1" then
              Set Matches = Regex.Execute(html)
               For Each Matche In Matches
                 temp = temp & Matche.Value
               Next
 Else
    temp = Regex.Replace(html,"")
 End if

   Else
    temp = ""
   End If
   Recupsript = temp
End Function

A bientôt !

SDA



Cette discussion est classée dans : vrai, trouve, regex, retourne, balises


Répondre à ce message

Sujets en rapport avec ce message

regex pour balises xml et html [ par romagny13 ] Bonjour,quelquun aurait t'il une bonne expression reguliere pour trouver les balises HTML ou XML ?je cherches pas tres complique la mais jai juste un regex recherche * [ par NX06 ] Bonjour,Je souhaiterai touver l'astuce pour utiliser regex, je m'explique :la chaine recherché est ceci : rolala toto="tatatiti"  tututete tata feypto Encore un problème de Regex ! [ par yanis7518 ] Salut à tous.Je dois remplacer dans une string du type "IN" par "1" seulement si cette string n'est pas suivie par des voyelles (A, E, I, O, U, Y). J' LDap [ par lenoil55 ] Bonjour à tous, j'ai réalisé une page aspx c# qui me retourne la liste des utilisateurs LDAP. Le problème c'est que cela me retourne que les 1000 prem Remote computer [ par Tracid83 ] Bonjours,Je souhaiterais récupérer le nom Netbios d'un ordinateur distant en utilisant le protocole Netbios en c# bien sur. J'ai beau cherché, je ne t Trouve pas la classe ni la methode !!! [ par jimmy69 ] Bonjour,Je bosse normalement sous net 1.1  !j'ai installe sur ma machine visual studio 2005 pro et comme j'ai decouvert que dot net 2.0 permettait d'e Regex chercher le Caractére * [ par Pitoux78 ] Bonjour,J'ai fait une appli qui extrait les ligne de commande SQL d'un fichier.Je souhaite faire un Regex qui compte le nombre de caractére * dans mes [OpenXml] - les deux points dans les balises [ par romagny13 ] Bonjour,voila j'ai un problême lorsuqe je génére le fichier document.xml (OpenXml)les balises sont de la forme ou par exemple si j'utilise un XmlWri Regex probleme chevron [ par boutnell ] Salut à tous.J'ai besoin d'un petit coup de main concernant une expression réguliere:Exemple:Regex rgHref = new Regex ("]*(h|H)(r|R)(e|E)(f|F)=\"(?[^\ Récupération à l'aide d'un regex [ par Siteauludo ] Bonjour,J'aimerai savoir s'il est possible de récupérer une partie d'un texte à l'aide d'un REGEX.Genre j'aimerai pouvoir récupérer le texte entre :


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales