Regex Pour Trouver Le Texte Entre Les Balises C#
Je veux enlever les balises html et de ne renvoyer que le texte entre les balises. Voici ce que j'utilise actuellement.
string regularExpressionPattern1 = @"<td(.*?)<\/td>";
Regex regex = new Regex(regularExpressionPattern1, RegexOptions.Singleline);
MatchCollection collection = regex.Matches(value.ToString());
J'ai actuellement <td>13</td>
, et je veux juste 13
.
Merci,
Ne pas faire cela avec une expression régulière, au lieu d'utiliser un analyseur HTML.
stackoverflow.com/questions/1732348/...
stackoverflow.com/questions/1732348/...
OriginalL'auteur Trey Balut | 2013-11-19
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour obtenir la valeur du groupe pas de le match.
Essayez cette
OriginalL'auteur Yevgeniy.Chernobrivets
Vous pouvez utiliser look-derrière
?<=
et look-ahead?=
comme ceci:(?<=<td>)(.*?)(?=<\/td>)
Qui devrait vous donner juste le texte entre les balises. Plus d'infos sur les Regex et look-ahead/look-de l'arrière peut être trouvé Ici.
Aussi, une bonne Regex testeur peut être trouvé Ici. Je l'utilise pour tester toutes mes chaînes Regex quand je suis en train d'écrire.
OriginalL'auteur Mike Webb
Donc, en utilisant le HTML AgilityPack, ce serait vraiment facile...
Met le TextNodes dans les nœuds de variable.
//text()
ne, il ne prend que les nœuds de texte, removni tout le balisage.Une erreur innocente, je le promets, désolé pour ça. De toute façon, les OP ont de drôle de goût sur ce qu'il faut accepter parfois, même lorsque vous leur dire ce qui est juste.
N'a pas d'importance, aussi longtemps que cette réponse devient upvoted massivement.
OriginalL'auteur jessehouwing
utilisation
match.Les groupes[1].Valeur
OriginalL'auteur Rakhitha