Mit Regex möchte ich den Text zwischen mehreren DIV-Tags erhalten können. Zum Beispiel die folgende:Verwenden von Regex, um Text zwischen mehreren HTML-Tags zu erhalten
<div>first html tag</div>
<div>another tag</div>
ausgeben würde:
first html tag
another tag
Das RegexMuster ich verwende nur passt meine letzte Div-Tag und verfehlt das erste. Code:
static void Main(string[] args)
{
string input = "<div>This is a test</div><div class=\"something\">This is ANOTHER test</div>";
string pattern = "(<div.*>)(.*)(<\\/div>)";
MatchCollection matches = Regex.Matches(input, pattern);
Console.WriteLine("Matches found: {0}", matches.Count);
if (matches.Count > 0)
foreach (Match m in matches)
Console.WriteLine("Inner DIV: {0}", m.Groups[2]);
Console.ReadLine();
}
Ausgang:
Objekte gefunden: 1
Inner DIV: Dies ist ein weiterer Test
ist es unerlässlich, diese Aufgabe, die Sie Verwenden Sie einen regulären Ausdruck? HTML ist eine kontextfreie Grammatik, die nicht mit regulären Ausdrücken geparst werden kann. Oftmals können Sie sich nähern, aber es wäre besser, einen HTML-Parser zu verwenden. Siehe http://StackOverflow.com/a/1732454/2022565 –