C# Get Paragraph From HTML With RegexUse Regex to get HTML paragraphs. Include the System.Text.RegularExpressions namespace.
dot net perls

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 HTML


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.



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 ""; } } }
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.

© 2007-2021 sam allen. send bug reports to info@dotnetperls.com.