C# Get Paragraph From HTML With Regex

Use Regex to get HTML paragraphs. Include the System.Text.RegularExpressions namespace.
Paragraph HTML Regex. HTML pages have paragraphs in them. We can match these with Regex. This is useful for extracting summaries from many pages or articles. This simple method extracts and matches the first paragraph element in an HTML document.Title From HTMLRegex

Note: This function uses the regular expression library included in the .NET Framework.

Example. We scan an entire HTML file and extract text in between a paragraph opening tag and closing tag. You can put this method, GetFirstParagraph, in a utility class that is static and reuse it in different projects.File.ReadAllTextStatic

GetFirstParagraph: This uses the static Regex.Match method declared in the System.Text.RegularExpressions namespace.

Info: The Regex looks for the characters < and > with the letter p in between them. It then skips zero or more whitespace characters inside those tags.

Finally: It captures the minimum number of characters between the start tag and end tag. Both tags must be found for the match to proceed.

C# program that matches paragraph from HTML using System; using System.IO; using System.Text.RegularExpressions; class Program { static void Main() { // Read in an HTML file. string html = File.ReadAllText("Problem.html"); // Get the first paragraph. Console.Write(GetFirstParagraph(html)); // End. Console.ReadLine(); } /// <summary> /// Get first paragraph between P tags. /// </summary> static string GetFirstParagraph(string file) { Match m = Regex.Match(file, @"<p>\s*(.+?)\s*</p>"); if (m.Success) { return m.Groups[1].Value; } else { return ""; } } } Output This is the first paragraph...
A discussion. Understanding regular expressions can be difficult, but this one is fairly simple. The method is not flexible. It is hard to parse HTML correctly all the time without an HTML parser.
Summary. We looked at how you can match the paragraph element in your HTML files using the C# language and regular expressions. This is useful code that I run several times a day, and it functions correctly.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to