06.HTML Parser от Regex Expressions Exercise
Колеги моля помогнете с последната част на задачата не мога да измисля regex който да изкара оставащия content??
https://pastebin.com/0qEHMiV5
Колеги моля помогнете с последната част на задачата не мога да измисля regex който да изкара оставащия content??
https://pastebin.com/0qEHMiV5
Аз също не можах да измисля регекс за контента.
И както казват често лекторите, ако един проблем ти изглежда сложен, го раздели на порции.
Затова първо с един регекс извадих цялото боди
regex = "<body>(?<body>.+)</body>";
после махнах таговете
regex = "<.*?>";
този го видях в нета и е по-сложен /може би работи по-точно, но и моя върши работа за тестовете/
regex="<(\"[^\"]*?\"|'[^']*?'|[^'\">])*>";
После видях, че остават разни \n символи и излишни интервали - махнах и тях със replace и trim.
и... 80/100
ето ти и моето решение https://pastebin.com/9BbyC5tA
Не минава тест 4 , който не можах да разбера какъв е дълго време и го пуснах в Slido.
И както казва Ванката на лекцията
https://youtu.be/GYMtCl4DpNQ?t=9101
трябва да остане текста без числата за да мине тоя четвърти тест /има го и входа на теста/
Надявам се да съм ти помогнал.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace HTMLPARESER
{
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
var Title = Regex.Match(input, @"<title>([^\d]+)<\/title>");
Console.WriteLine("Title: {0}", Title.Groups[1].Value);
var Body = Regex.Match(input, @"<body>(.*?)<\/body>");
var Content = Regex.Replace(Body.Groups[1].Value, @"<[^<>]+>?", " ");
var content = Regex.Replace(Content.ToString(), @"\\n", " ");
var Result = Regex.Replace(content.ToString(), @"-?\d+(\.\d+)?", " ");
var result = Regex.Replace(Result.ToString(), @"\s+", " ");
Console.WriteLine("Content: {0}", result.ToString().TrimEnd(new char[] { ' ', '\t' }).TrimStart(new char[] { ' ', '\t' }));
}
}
}
Много мерси човече, направих го на 80/100 утре ще гледам пак видеото точно където ги показваше резултатите да видя къв беше този 4 ти тест.. Много ми помогна!
Линка с видеото от лекцията е с тайминг и се отваря точно където говори за въпросния тест ;)