2016-11-29 3 views
1

Voici un exemple de ce que l'information que je suis en train d'extraire avec regexC# Regex - mots, des espaces, des chiffres et des caractères spéciaux dans un ordre quelconque

class="result-title hdrlnk">CHAVY IMPALA</a><span class="result-meta"><span class="result-price">$1300</span> 


class="result-title hdrlnk">1950 Buick Super straight 8 with 3 on the tree</a><span class="result-meta"><span class="result-price">$9850</span> 


class="result-title hdrlnk">Buick Lesabre Hardtop Coupe</a><span class="result-meta"><span class="result-price">$8800</span> 

J'ai pu obtenir avec succès le prix mais je suis avoir des problèmes avec obtenir le nom de l'annonce pour les véhicules. Voici un exemple de l'expression rationnelle

Ce code fonctionne très bien pour obtenir le prix et les supports supplémentaires

Regex vg = new Regex(@"</a><span class=""result\-meta""><span class=""result-price"">\$\d+"); 

J'ai essayé d'utiliser la période au début, mais qui affiche uniquement la dernière lettre ou le nombre de le titre de la liste, il ne sera pas afficher le titre de l'ensemble de la liste.

Regex vg = new Regex(@".</a><span class=""result\-meta""><span class=""result-price"">\$\d+"); 

J'ai aussi essayé

Regex vg = new Regex(@">.*</a><span class=""result\-meta""><span class=""result-price"">\$\d+"); 

et

Regex vg = new Regex(@">\d+</a><span class=""result\-meta""><span class=""result-price"">\$\d+"); 

mais pas de chance avec le titre de l'annonce :(Toute aide serait appréciée.

+0

Une raison pour laquelle nous ne recommandons jamais l'analyse de html et xml avec REGEX, – jdweng

+2

Prenez une grande respiration et regardez [cette réponse] (http://stackoverflow.com/a/1732454/2307070). –

Répondre

1

Essayez cette regex class=\"result-title hdrlnk\">(.*?)<\/a><span class=\"result-meta\"><span class=\"result-price\">(.*?)<\/span> , de préférence une liste à la fois

string input = "your input" 
string pattern = @"class=\""result-title hdrlnk\"">(.*?)<\/a><span class=\""result-meta\""><span class=\""result-price\"">(.*?)<\/span>"); 
Match match = Regex.Matches(input, pattern); 
string title = match.Groups[1].Value; 
string price = match.Groups[2].Value 
+0

Wow c'est beau !!! :) Je vous remercie!! –

+1

@Fabio Alfara S'il vous plaît accepter et me délivrer du numéro de réputation du diable –

+0

Comment puis-je faire? Désolé je suis nouveau ici et je veux vous donner le crédit :) –