[\s\S]*?<lin>使用方括号 [ ] 包含一系列字符,能够匹配其中任意一个字符。用 [^ ] 包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。

解决方案 »

  1.   

    不大明白您的以上我的代码是:
    detailHtmlCode = Regex.Replace(detailHtmlCode, @"\s", "");
                Regex rContent = new Regex("<td width=\"5\"></td></tr></table><DIV>(?<content>[^>]*)", RegexOptions.Multiline);现在的结束符是>  我要改成结束符是:<BR></DIV><br><br>查询更多    应该怎么写表达式呢?
      

  2.   

    <td width="5"></td>
                </tr>
              </table>
                 <DIV>  豆寇少女,对自己的容貌倍加注意,白皙细嫩的脸上, 却长出了令人烦恼的小红疙瘩,挤破后出现小粉渣,这就是 “粉刺”,俗称“青春美丽豆”,医学上称为寻常痤疮。  </DIV> <DIV> </DIV> <DIV>  痤疮是青春期发育过程中常见的一种现象,正常健康 的男女青少年,从13~23岁都可能长痤疮(男性比女性多见),个别人甚至延续到3O岁以上。进入青春期后体内雄性激素分泌增多,使皮脂腺发育旺盛,同时皮脂腺毛囊管壁出现角化,堵塞了管腔,使皮脂腺无法排出,因而形成脂栓,也是痤疮。若是合并葡萄球菌等细菌感染,使痤疮发炎变红,甚至形成小脓包。如果反复发作,可在脸上留下点点褐 色疤痕,较难消退,如炎症侵入皮肤深层,炎症好了以后,皮肤上却留下了坑,影响美观。痤疮只要不合并感染,是不会在脸部留下疤痕的。该病时轻时重,进展慢,常可持续到中年,病情逐渐缓解而痊愈。</DIV> <DIV>&nbsp;</DIV> <DIV>  面部是人体皮脂腺最多的地方,故痤疮好发于面部,尤其是前额、双颊、颈部,其次是胸背部,常疏散对称分布,严重者密集成片。 </DIV> <DIV>&nbsp;</DIV> <DIV>  (l)注意面部清洁:常用温水洗脸,因为冷水不易去除 油脂,热水促进皮脂分泌,不用刺激性肥皂,硫磺香皂对痤疮有一定好处,不要用雪花膏和其它油脂类的化妆品。 </DIV> <DIV>&nbsp;</DIV> <DIV>  (2)合理的饮食:多吃蔬菜和水果,少吃脂肪、糖类和辛辣等刺激性食物,保持大便通畅。 </DIV> <DIV>&nbsp;</DIV> <DIV>  (3)不要用手去挤压粉刺,以免引起化脓发炎,脓疮破溃吸收后形成疤痕和色素沉着,影响美观。抗菌素对感染重的有疗效。 </DIV> <DIV>&nbsp;</DIV> <DIV>  (4)治疗:用维甲酸、维胺脂、及维生素A等,能改善角化过程,将有助于减轻和消除痤疮。有人报导,过氧苯甲酰 治疗痤疮有明显的疗效,它涂在人体表面后,能缓慢地放出 氧,有明显的杀菌作用。服用0.5~1%硫酸锌溶液,每天3 次,每次30毫升。一般用药4~8周,服药期间局部擦少量维生素B6冷霜,也有较好的效果。女性痤疮患者同时月经不正常者,可采用小剂量乙烯雌酚,每日口服0.25毫克,进行人工周期,可使痤疮好转,月经也恢复正常。同时中医按摩、配合<a href='http://search.fh21.com.cn/?key=&col=6'>药物</a>进行理疗,起到活血化瘀、调整气血、改善皮肤血液循环的作用,达到医治的效果。 </DIV> <DIV>&nbsp;</DIV> <DIV>  (5)劳逸结合,保持精神愉快,对痤疮的治疗十分有益。长了痤疮心理不要产生负担,以免引起神经内分泌紊乱,使痤疮加重。 如觉得自己脸上的粉刺并不碍事,也不一定要用药,可等其自然消退,因粉刺消退后一般不会留下任何痕迹。若一味胡抠乱涂,倒会留下令人不悦的坑坑洼洼。但痤疮较重者,应到<a href='http://search.fh21.com.cn/?key=&col=4'><a href='http://89878787.com'>医院</a></a>皮肤科诊治,不要盲目用药。&nbsp; <BR></DIV> <br><br>查询更多 
    我想要的结果是:
    <td width="5"></td></tr></table><DIV>和<br><br>查询更多之间的内容  我已经过滤过空白符了
      

  3.   

    up    up up  您跑到哪里去了??
      

  4.   


    string yourStr = ..........;
    Match m = Regex.Match(yourStr, @"<td\s+width=""5""></td>\s*</tr>\s*</table>\s*<DIV>([\s\S]*?)<br><br>查询更多", RegexOptions.IgnoreCase);
    string resultStr = "";
    if (m.Success)
    {
        resultStr = m.Groups[1].Value;
    }
      

  5.   

    空格等空白字符可以用\s来匹配([\s\S]*?)<br><br>查询更多
    这里[\s\S]*?可以匹配任意长度的任意字符,加“?”为非贪婪模式匹配,一直匹配到它后面的普通字符串第一次出现的位置的前面吃饭去鸟,有问题回来再解决了
      

  6.   

    "法人代表:</p></td><tdwidth=\"363\"valign=\"top\"><p>(?<value>[^<]*)"用这样的正则表达式就是遇到<时停止匹配我现在想让他遇到 stop  这四个字母是停止应该怎么做?  stop应该看做一个整体而不是s t o p   我的以上就是这样的
      

  7.   

    你是用.net的程序测试的吗,没测过的代码我一般是不会往上贴的,另外写代码是为了得到正确的结果,并不是为了美观,有的时候为了得到正确的格式,空格或回车之类的空白符号是不可以去掉的不是以一个字符,而是以一个单词或多个字符为边界时,用非贪婪模式如字符串
    <td>首页</td></tr></table></tr></table>匹配用正则表达式
    <td>.*?</table>
    此时为非贪婪模式,匹配的结果就是
    <td>首页</td></tr></table>而正则表达式为
    <td>.*</table>
    此时为贪婪模式,匹配的结果就是
    <td>首页</td></tr></table></tr></table>以stop停止中间没有回车就可以
    .*?stop
    中间可能有回车就用
    [\s\S]*?stop
      

  8.   

    您太罗说了。   没让您说什么贪婪非贪婪的  只问:
    把这一行"法人代表:</p></td><tdwidth=\"363\"valign=\"top\"><p>(?<value>[^<]*)"
    改成以stop结束要怎么做  是这样改吗?"法人代表:</p></td><tdwidth=\"363\"valign=\"top\"><p>(?<value>.*?)stop"
      

  9.   

    可以了其他人  已经给我结果了   根据面向对象思想我应该忽略细节  原谅我吧  lxcnn   开玩笑的~~~~    我当然想学  刚看了正则的资料有一点基础了现在~~!
      

  10.   

    正确的结果其实是:Regex rContent = new Regex("<tdwidth=\"5\"></td></tr></table>(?<content>.*?)<br><br>查询更多", RegexOptions.Multiline);
      

  11.   

    大家都是互相交流学习,没什么原谅不原谅的,我也只是就这一问题发表我的见解
    如果你只想要结果,并不想学习正则,以下内容可以不看,以免浪费时间Regex rContent = new Regex("<tdwidth=\"5\"></td></tr></table>(?<content>.*?)<br><br>查询更多", RegexOptions.Multiline);
    你确定这样可以匹配到你上面所给的实例吗?
    “<br><br>查询更多”这里与你上面所给源字符串里“<br/><br/>查询更多”是不一致的,而这些普通字符是要求全字匹配的
    另外就是使用.*?时,使用RegexOptions.Singleline参数以使“.”能够匹配回车换行符,而你这里的RegexOptions.Multiline用在这里是毫无意义的
      

  12.   

    另外我要抓的是整个html文件中的内容的一部分用Multiline毫无意义???
      

  13.   

    我只是针对你上面所给实例说的,如果你自己测试的源字符串是以“<br><br>查询更多”结尾的,那我无话可说你看下MSDN上RegexOptions里Multiline的说明,Multiline是用来改变“^”和“$”的含义的,而你这里根本就没用到,有何意义可言
      

  14.   

    顺便问一个问题:我写的正则取图片那有问题为什么有的可以找到有的找不到,我是在写一个BLOG时收集图片用的,就是发现有时15张图收到13张还有几张用正则匹配不上。我写的正则为:string s = "<img.*(?=src=[\"'](?<src>.+?)[\"']).*>";
    博客:http://www.jobdll.com/user/gt
      

  15.   

    TO:gt5070073
    你给的博客链接打不开,具体问题具体分析,要看实例才好写正则
      

  16.   

    TO:gt5070073
    博客可以打开了,但是你的问题,具体描述下吧,从哪取的源字符串,匹配什么样的图片地址
      

  17.   

    如果是这样,那要考虑的情况可就多了,这种完全没有限制的,很难考虑周全的,用下面的试下吧string yourStr = richTextBox1.Text;
    MatchCollection mc = Regex.Matches(yourStr, @"<img\s[\s\S]*?src=(['""])?(?<src>[^'""\s]*?)\1?\s", RegexOptions.IgnoreCase);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["src"].Value + "\n";
    }PS:不要在公开场合随意透露你的用户名和密码,哪怕这一帐号信息对你来说是多么的微不足道,最好还是尽快改下密码吧