Courte réponse: N'essayez jamais d'analyser HTML de façon sauvage avec des expressions régulières. Il reviendra très probablement vous hanter. Réponse plus longue: Réponse plus longue: Tant que vous pouvez absolument garantir que le HTML que vous analysez correspond à la structure donnée, vous pouvez utiliser string.Split() comme suggéré par Jenni.
string html = "<tr><td>001</td><td>MC Hammer</td><td>Can't Touch This</td></tr>";
string[] values = html.Split(new string[] { "<tr>","</tr>","<td>","</td>" }, StringSplitOptions.RemoveEmptyEntries);
List<string> list = new List<string>(values);
Listing des balises maintient indépendamment cette légèrement plus lisible, et la .RemoveEmptyEntries
vous gardera d'obtenir une chaîne vide dans votre liste entre les balises de fermeture et d'ouverture adjacentes.
Si ce code HTML provient de la nature, ou d'un outil qui peut changer - autrement dit, si cela est plus qu'une transaction unique - je fortement vous encourager à utiliser quelque chose comme le HTML Agility Pack à la place. C'est assez facile à intégrer, et il y a beaucoup d'exemples sur les Intarwebs.
vous ai écrit juste une question au sujet de l'analyse syntaxique HTML et la balise 'il regex'? Cela va vous mettre en difficulté (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454). –
Je peux supprimer le tag regex incriminé s'il dérange quelqu'un. Cela dit, ce n'est pas comme si j'essayais de regex l'ensemble du jeu de balises html. Il y a seulement 3 choses possibles à faire correspondre: '