2009-09-22 8 views
0

Ma chaîne d'entrée est:regex pour analyser html

"<!--<clientHtml>--><br><br><br><b>Job Title:</b> Test text 
<br><b>JobId:</b> 56565-116503 
<br><br><b>City:</b> San Diego 
<br><b>State:</b> CA 
<br><b>Zip Code:</b> 92108 
<br><br><br><b>Description:</b> 
      We are recruiting for a Controller to oversee all accounting and finance for a growing manufacturing company. We are looking for someone who is hands on full cycle accounting. 


<br><br> 
<!--<apply>test/apply><email></email><OriginalFetchUrl>http:test.xml</OriginalFetchUrl><OriginalWrapUrl>http://test.html</OriginalWrapUrl></clientHtml>-->"; 

je besoin d'extraire la chaîne suivante en utilisant C#/Les expressions régulières:

1. «Nous recrutons pour un contrôleur pour superviser toute la comptabilité et des finances Nous sommes à la recherche d'une personne en charge de la comptabilité à cycle complet. "

Je veux aussi se débarrasser de la ligne: test/appliquer> < /email>http:test.xml < /OriginalFetchUrl>http://test.html </OriginalWrapUrl> </clientHtml> ->

Puis-je s'il vous plaît obtenir de l'aide avec le code?

Merci d'avoir lu.

+0

Je sais, c'est pas de devoirs - mais cette question regex sont très similaires ... avez-vous lui donnez tout essayer? Avez-vous regardé la 100ème des questions regex ici sur SO? Avez-vous des informations à propos de regex? Lorsque vous aurez une réponse, devrez-vous la demander à nouveau ou apprendre quelque chose? – tanascius

+0

@tanascius - Vous n'êtes pas très utile ou gentil. Qu'espérez-vous accomplir? –

+0

Eh bien, je ne sais pas, peut-être que je voudrais voir un code ou quelque chose qu'il a essayé? Il n'est pas contre Ed ou sa question ... mais plus sur les questions regex en général ... ils sont toujours comme: Je cela, me donner un code qui produit que ... peut-être que je devrais retirer de mes tags regex favoris . – tanascius

Répondre

2

Essayez quelque chose comme ceci:

Description:</b>([^<]+)

Voici un exemple de utiliser:

using System; 
using System.Text.RegularExpressions; 

class Example 
{ 
    static void Main() 
    { 
     String str = @"<!--<clientHtml>--><br><br><br><b>Job Title:</b> Test text 
      <br><b>JobId:</b> 56565-116503 
      <br><br><b>City:</b> San Diego 
      <br><b>State:</b> CA 
      <br><b>Zip Code:</b> 92108 
      <br><br><br><b>Description:</b> 
        We are recruiting for a Controller to oversee all accounting and finance for a growing manufacturing company. We are looking for someone who is hands on full cycle accounting. 


      <br><br> 
      <!--<apply>test/apply><email></email><OriginalFetchUrl>http:test.xml</OriginalFetchUrl><OriginalWrapUrl>http://test.html</OriginalWrapUrl></clientHtml>-->"; 

     Regex expression = new Regex(@"Description:</b>([^<]+)", 
      RegexOptions.Compiled | 
      RegexOptions.CultureInvariant | 
      RegexOptions.IgnoreCase); 

     Match match = expression.Match(str); 

     if (match.Success) 
      Console.WriteLine(match.Groups[1].Value.Trim()); 
    } 
} 
+0

Merci.Comment utiliser l'expression régulière pour obtenir la suite: Entrée: démarrer fin Sortie doit être: début fin –

0

Essayez quelque chose comme ceci: (je ne l'ai pas tester.)

string result = ""; 
Match m = Regex.Match(line, @"^\<b\>\s*Description\s*\:\s*\<\/b\>\s*(?<result>.*?)\s*\<", RegexOptions.IgnoreCase); 
if (m.Success) 
{ 
    result = m.Groups["result"].Value; 
} 
Questions connexes