是这样的 有一个html字符串 我想从里面截取一个div出来 我可以定位这个div的开始 但不知道如何快速的找寻这块div的结束标签 目前我的思路是这样的
定位到这个div的开始(假设叫divA) 然后声明一个div结束标签的计数变量(count) 默认开始时1 表示从divA开始遇到的第一个div结束标签和他匹配
然后从divA开始搜索 如果发现一个div开始标签则 count++ 那么就表示要多匹配一个div的结束标签 遇到一个结束标签则 count-- 如果到0了就表示 当前的div结束标签就是divA的结束标签我就想问问 能不能不用这么别扭的办法解决这个问题
那些代码编辑器是怎么匹配开始和结束然后可以代码折叠的?<div id="XXX" class="XXX"....这里未知....</div>还有能不能不要说导入webbrowser然后通过getE..ById之内的去获取....感觉也有点别扭 这样感觉还要搞一个webbrowser出来 但实质上这个这东西又不显示出来的 ..只是默默的截取出来就完了HTML标签搜索
定位到这个div的开始(假设叫divA) 然后声明一个div结束标签的计数变量(count) 默认开始时1 表示从divA开始遇到的第一个div结束标签和他匹配
然后从divA开始搜索 如果发现一个div开始标签则 count++ 那么就表示要多匹配一个div的结束标签 遇到一个结束标签则 count-- 如果到0了就表示 当前的div结束标签就是divA的结束标签我就想问问 能不能不用这么别扭的办法解决这个问题
那些代码编辑器是怎么匹配开始和结束然后可以代码折叠的?<div id="XXX" class="XXX"....这里未知....</div>还有能不能不要说导入webbrowser然后通过getE..ById之内的去获取....感觉也有点别扭 这样感觉还要搞一个webbrowser出来 但实质上这个这东西又不显示出来的 ..只是默默的截取出来就完了HTML标签搜索
解决方案 »
- 小白求问,在windows下有没有一个API来判断耳机是否插入电脑?
- 大家帮忙解释一下,虚函数(Virtual),抽象函数(abstract)和接口的区别。
- 关于.net和微软的一些困惑
- 怎么把LINQ的查询结果转化为dataset???
- 移动控件闪的历害,看到别人讲的又别用
- 用webbrower会出现外部提交
- 设计个邮件对比控件和后台,急啊,各位老大帮忙啊.
- 高分悬赏!!!!!!!!!!!!!!!!!!
- Form间的调用问题,请各位指点,着急在线等待。。。。
- 判断一个输入的字符串是否全部是数字,用什么方法好?
- 未经处理的异常: System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
- Wince平台 c#语言 关于调用DLL的问题(该DLL为非托管)
看后面div匹配
string test = @"<div id=""0"">
0
</div>
<div id=""1"">
1
<div id=""2"">
2
</div>
</div>";
Regex reg = new Regex(@"(?isx) #匹配模式,忽略大小写,“.”匹配任意字符
<div[^>]*> #开始标记“<div...>”
(?> #分组构造,用来限定量词“*”修饰范围
<div[^>]*> (?<Open>) #命名捕获组,遇到开始标记,入栈,Open计数加1
| #分支结构
</div> (?<-Open>) #狭义平衡组,遇到结束标记,出栈,Open计数减1
| #分支结构
(?:(?!</?div\b).)* #右侧不为开始或结束标记的任意字符
)* #以上子串出现0次或任意多次
(?(Open)(?!)) #判断是否还有'OPEN',有则说明不配对,什么都不匹配
</div> #结束标记“</div>”
");
MatchCollection mc = reg.Matches(test);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n--------------------\n";
}
那你知道为什么你那个软件在win7系统上运行的很好,可以修改别的进程内存,换到xp上就不能修改了呢??
(试过了十几台电脑,都是win7可以,xp不行)需要加什么代码,或者改什么吗??