记录一些会用到的正则表达式,会持续更新
string content;
1.去掉内容的 < img> 标签
content = Regex.Replace(content, @"< img\b[^>]*>", "");
2.去掉内容的所有 html 标签
content = Regex.Replace(content, @"<[^>]+>", ""); content = Regex.Replace(content, @"&[^;]+;", "");
3.获取html 图片jpg 路径(可自行根据自己需求改为其他媒体文件后缀)
List< string> strUrl = new List();//定义泛型,用于存放抓取的URL string regexStr = @"]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(? [^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>";//查找URL的正则表达式 Regex reg = new Regex(regexStr, RegexOptions.IgnoreCase);//正则表达式的类实例化 MatchCollection mc = reg.Matches(content);//进行匹配 if (mc.Count > 0)//判断没有抓取到一条合法的URL { for (int i = 0; i < mc.Count; i++) { strUrl.Add(mc[i].Groups[0].Value);//将匹配的数据装入泛型集合 } } return strUrl;
4.获取img标签src的值
// 定义正则表达式用来匹配 img 标签 Regex regImg = new Regex(@"]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>",RegexOptions.IgnoreCase); // 搜索匹配的字符串 MatchCollection matches = regImg.Matches(content); int i = 0; string[] sUrlList = new string[matches.Count]; // 取得匹配项列表 foreach (Match match in matches) sUrlList[i++] = match.Groups["imgUrl"].Value; return sUrlList;
5.去掉字符串中emoji表情
content=Regex.Replace(content, @"\p{Cs}", "");