解决方案 »

  1.   

    regex=<div class="t_fsz">(.*?)<div class="tip_horn"> 
    m.group(1)就是你要的
      

  2.   

    直接substring更快。
    1楼的,没开DOT_ALL模式,是不可能匹配到的。默认DOT_ALL是关闭的(也就是.匹配任意字符,但不包括换行符),而打开,对于大文本来说,可能速度太慢了。
      

  3.   

    DOT_ALL怎么打开?打开.就可以包括换行符了嘛?大不了用[\\s\\S]+?了
      

  4.   

    想写爬虫啊,给你个新思路:
    用eclipse swt的Browser,直接把URL打开,然后你可以要求浏览器执行一个脚本,通过脚本抓你要的东西就更简单了,并且更准确!
      

  5.   


    如果是用Pattern,可以在Pattern.compile的时候,compile有第二个参数,可以附加提供DOT_ALL或者其他开关组合(是否区分大小写等)
    @see java.util.regex.Pattern#DOT_ALL如果不用Pattern,或者只有部分dot要匹配换行,那么只要在正则的一开始(或者你需要的地方)写(?s)即可,比如String regex = ".*abcd(?s).*(?-s)xyz.*";
    中间那个dot,匹配换行,而前后两个dot不匹配换行。