1.引入System.IO命名空间,用于读取文件和写入文件。
2.使用System.IO.File类读取文本文件,例如:string text = File.ReadAllText("input.txt");
3.使用System.Linq.Expressions类创建一个正则表达式,用于匹配HTML标签。例如:string pattern = @"<[^>]+>";
4.使用Regex类创建一个模式对象,将正则表达式传入模式对象中。例如:Regex regex = new Regex(pattern);
5.使用MatchEvaluator类对正则表达式进行评估,并返回一个布尔值,表示是否匹配到了HTML标签。例如:MatchResult result = regex.Matches(text);
6.遍历MatchResult对象,找到所有匹配到HTML标签的位置,并输出消息提示用户。例如:foreach (Match match in result)
源码如下:
/// <summary>
/// 返回过滤掉所有的Html标签后的字符串
/// </summary>
/// <param name="html">Html源码</param>
/// <returns>过滤Html标签后的字符串</returns>
public static string FilterAllHtml(string html)
{
string filter = "<[\\s\\S]*?>";
if (Regex.IsMatch(html, filter))
{
html = Regex.Replace(html, filter, "");
}
filter = "[<>][\\s\\S]*?";
if (Regex.IsMatch(html, filter))
{
html = Regex.Replace(html, filter, "");
}
return html;
}
/// <summary>
/// 检查是否有Html标签
/// </summary>
/// <param name="html">Html源码</param>
/// <returns>存在为True</returns>
public static bool CheckHtml(string html)
{
html = URLDecode(html);
string filter = "<[\\s\\S]*?>";
if (Regex.IsMatch(html, filter))
{
return true;
}
filter = "[<>][\\s\\S]*?";
if (Regex.IsMatch(html, filter))
{
return true;
}
return false;
}