正则表达式匹配问题
正则表达式匹配html元素的时候,正则表达式字符串,和源字符串都不要Server.HtmlEncode() 编码了,直接匹配
1.html 内容如下:
<td class="coln_2">
<div class="divTrueName">
<!--{start}-->
<a id="tbl_tr_name_qt_1" href="http://shanghai.anjuke.com/shop/view/316462" class="aTrueName" target="_blank" >你好</a>
<!--{end}-->
</div>
<div class="divCompanyStore" id="tbl_tr_cpn_qt_1">所属公司:21世纪标高 静安店</div>
<div class="divArea" id="tbl_tr_area_qt_1">服务区域:静安 曹家渡</div>
<div class="divUserMobile" id="tbl_tr_mb_qt_1">手机:1234567</div>
<!-- <div class="divUserMobile">注册时间:</div> -->
<div class="divLoginStates">
<img src="http://static.anjuke.com/images/activ3.gif" />
<span class="sptxt">每周都来</span></div>
</td>
C#代码如下:
Server.HtmlEncode
string s1, s2, s3, s4;
FileStream fs = new FileStream(Server.MapPath("1.htm"), FileMode.Open);
StreamReader sr = new StreamReader(fs);
string str = sr.ReadToEnd();
sr.Dispose();
string fliter_name = "(?<= <a id=\"tbl_tr_name_qt_1\" href=\"http://shanghai.anjuke.com/shop/view/316462\" class=\"aTrueName\" target=\"_blank\" >)[\\s\\S]*"+"(?=</a>)"; //不要编码
string fliter_company = "(?<=<div class=\"divCompanyStore\" id=\"tbl_tr_cpn_qt_1\">)[\\s\\S]*?[^<](?=</div>)"; //不要编码
string fliter_phone = "(?<=<div class=\"divUserMobile\" id=\"tbl_tr_mb_qt_1\">)[\\s\\S]*?(?=</div>)"; //不要编码
string fliter_area = "(?<=<div class=\"divArea\" id=\"tbl_tr_area_qt_1\">)[\\s\\S]*?(?=</div>)"; //不要编码
Match name = Regex.Match(str, fliter_name);//直接匹配,下面的也是,这样就能匹配到
Match company=Regex.Match(str,fliter_company);
Match area=Regex.Match(str,fliter_area);
Match phone = Regex.Match(str,fliter_phone);
s1 = name.Value;
s2 = company.Value;
s3 = area.Value;
s4 = phone.Value;
Response.Write(s1+s2+s3+s4);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通