2010-06-08 11 views
0

Je me demandais quel serait le moyen le plus rapide et le plus simple de saisir du texte entre les balises d'une chaîne.
Par exemple j'ai cette chaîne: Lorem ipsum <a>dolor sit amet</a>, <b>consectetur</b> adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Et je dois trouver le texte qui est entre les étiquettes <a> </a> et <b> </b>.Correspondance du contenu entre les balises de la source Web

Merci.

Répondre

1

Analyser HTML est très difficile, car les pages Web sont rarement correctes et vous trouverez beaucoup de balises incompatibles et d'étranges choses étranges.

Utilisez le HTMLAgilityPack s'il s'agit de pages réelles.

0
.+<a>(.+)</a>.+<b>(.+)</b>.+ 

Le premier groupe de correspondances contiendra le texte entre les balises A et le deuxième groupe - entre balises B.

+0

Voulez-vous dire '()' au lieu de '{}'? – Amarghosh

+0

@Amarghosh: Oui, merci! Mélangé avec le style VS regex accidentellement – abatishchev

1

<a>(.*)</a>.*<b>(.*)</b> fonctionnera dans ce cas particulier, mais en général ce n'est pas une bonne idée d'analyser html avec regex. Utilisez un analyseur HTML/XML à la place.

Essayez HTMLAgilityPack: Cette SO post explique comment l'utiliser.