CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

正则表达式导致程序失去响应

楼主maconelxp(皮皮)2005-06-02 12:17:51 在 .NET技术 / ASP.NET 提问

@"[\s\S]*?(?<content>\<div   id='Content'\>\<div[\s\S]*?\<\/div\>[\s\S]*?\<\/div\>)[\s\S]*";  
  上边是我写的一个正则表达式,然后匹配一段文本,因为文本中实际不存在这样的匹配,所以应该说就找不到匹配,但是用Regex.IsMath(txtConten)这样以行代码的时候,程序总是失去响应,不知道为什么,我现在需要的不是正确的表达式,而是,如果文本中不存在这样的匹配的时候,应该怎么办,才不至于使程序失去响应? 问题点数:50、回复次数:10Top

1 楼Sunmast(速马@Redmond, WA)回复于 2005-06-02 16:07:11 得分 30

我用测试器测了一下,确实把测试器也弄死了   :-)  
  诡异Top

2 楼reddeephehe(一声声追问)回复于 2005-06-02 17:20:16 得分 20

还有这种事情,帮你顶Top

3 楼saucer(思归)回复于 2005-06-03 00:37:22 得分 0

really?   I   don't   have   any   problems   with   the   following   code:  
   
  string[]   slist   ={  
  "<div   id='Content'><div>abd</div>sdfdf</div>fsdfdsf",  
  "xxxxxx   xxxxx   xxxx   xxxxx"  
  };  
   
   
   
  Regex   re   =   new   Regex(@"[\s\S]*?(?<content>\<div   id='Content'\>\<div[\s\S]*?\<\/div\>[\s\S]*?\<\/div\>)[\s\S]*",   RegexOptions.IgnoreCase);  
  foreach   (string   s   in   slist)  
  {  
  Console.WriteLine("{0}   matches?   {1}",   s,   re.IsMatch(s));  
  }  
  Top

4 楼Sunmast(速马@Redmond, WA)回复于 2005-06-03 14:03:19 得分 0

思归,我用来测试的是CSDN短消息页面的HTML源码嗯,测试器确实死掉了,CPU占用率一直100%  
  我觉得这很可能是FCL的一个缺陷Top

5 楼Sunmast(速马@Redmond, WA)回复于 2005-06-03 14:41:32 得分 0

嗯,思归发现去掉前面的[\s\S]*?就可以了,我发现只要等很长时间,还是会出结果的(所以不是死循环之类)  
  想了一下,最开头使用[\s\S]*或者[\s\S]*?,可以匹配所有文本,在这个地方分析器为了尽量匹配所有表达式,会在几乎每个点进行回逆查找,而如果要匹配的文本很大,那么就会很耗时  
   
  实际上去掉开头的[\s\S]*?的表达式也能满足你的要求Top

6 楼maconelxp(皮皮)回复于 2005-06-03 17:40:34 得分 0

看到两位大师回答我的问题,真是无比兴奋  
   
  我加上前边的[\s\S]*?主要是为了,进行文本的替换  
  对于较小的字符串来说不会出现问题,但是就像Sunmast(速马.上海)说的测试较长的HTML源码确实会导致程序失去响应  
  Top

7 楼minghui000(沉迷网络游戏)回复于 2005-06-05 01:36:10 得分 0

帮您顶一下Top

8 楼herodraw(herodraw)回复于 2005-06-05 02:50:45 得分 0

to楼主  
  进行文本的替换?  
  什么样的替换成什么样的!Top

9 楼maconelxp(皮皮)回复于 2005-06-06 11:37:02 得分 0

upTop

10 楼maconelxp(皮皮)回复于 2005-06-06 15:16:06 得分 0

upTop

相关问题

  • 正则表达式
  • 正则表达式
  • 正则表达式?
  • 正则表达式[/.-]
  • 【正则表达式!!!!!!!!】
  • 正则表达式
  • 正则表达式
  • 正则表达式
  • 正则表达式?
  • 正则表达式

关键词

  • 文本
  • 测试
  • 匹配
  • 表达式
  • 失去响应
  • 程序
  • 替换
  • 测试器
  • regex

得分解答快速导航

  • 帖主:maconelxp
  • Sunmast
  • reddeephehe

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo