Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text.RegularExpressions;
- public class SemanticHtml
- {
- public static void Main()
- {
- const string openingTagPattern = @"<\s*div\s+(?<first>.*?)(?:id|class)\s*=\s*""(?<tagName>main|header|nav|article|section|aside|footer)""(?<second>.*?)\s*>";
- const string closingTagPattern = @"<\/div>\s*<!--\s*(?<tagName>main|header|nav|article|section|aside|footer)\s*-->";
- string input = Console.ReadLine();
- while (input != "END")
- {
- if (Regex.IsMatch(input, openingTagPattern))
- {
- var match = Regex.Match(input, openingTagPattern);
- string first = match.Groups["first"].ToString();
- string second = match.Groups["second"].ToString();
- string tagName = match.Groups["tagName"].ToString();
- string tag = string.Format("{0} {1} {2}", tagName, first, second);
- tag = Regex.Replace(tag, @"\s+", " ").Trim();
- tag = "<" + tag + ">";
- Console.WriteLine(tag);
- }
- else if (Regex.IsMatch(input, closingTagPattern))
- {
- var match = Regex.Match(input, closingTagPattern);
- string tagName = match.Groups["tagName"].ToString();
- string tag = string.Format("</{0}>", tagName);
- Console.WriteLine(tag);
- }
- else
- {
- Console.WriteLine(input);
- }
- input = Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement