java中正则表达式怎么匹配换行后的字符串

qq526470298 2015-05-16 08:47:58
我的代码是这样写的
public class Demo {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("F:/1笔记/33.txt");
BufferedReader br=new BufferedReader(fr);
String line=null;
String regex="(?m)(<div class=\"endtext\">)(.*)";
Pattern p=Pattern.compile(regex,Pattern.MULTILINE);
while((line=br.readLine())!=null){
Matcher m=p.matcher(line);
while(m.find()){
String s=m.group();
System.out.println(s);
}
}
}
}

33.txt的内容为

我是想将<div class="endtext">之后的都匹配出来,但是运行的结果是
<div class="endtext">XXXXXXXXXXX<br />
求大神帮忙!!!!!!!!
...全文
543 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inhibitory 2015-05-17
  • 打赏
  • 举报
回复
import java.util.regex.*;

public class Test {
    public static void main(String[] args) {
        // 多行字符串
        String text = "Begin <div class=\"endtext\">First...\n\nSecond... \n\nThird</div> What <div>Foo</div>";
        Pattern pattern = Pattern.compile("<div class=\"endtext\">[\\s\\S]*?</div>");
        Matcher matcher = pattern.matcher(text);

        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}
输出
<div class="endtext">First...

Second... 

Third</div>
  • 打赏
  • 举报
回复
我是想将<div class="endtext">之后的都匹配出来,但是运行的结果是 <div class="endtext">XXXXXXXXXXX<br /> 这个结果有什么问题么?你是读一行匹配一行的,又不是全部读进来后再匹配的。
qq526470298 2015-05-16
  • 打赏
  • 举报
回复
将(.*)换成([\\s\\S]*)运行的结果也是一样的
课程目标:学习Java语言字符串相关的知识、字符编码常识和正则表达式的使用,并完成案例前导课程:《Java工程师必学系列课程》前4部课程内容:本课程是《Java工程师必学系列课程》的第5部分,主要讲解Java语言字符串相关知识、字符编码常识和正则表达式的使用。本课程涉及的主要内容可以分为四部分:一、String、StringBuffer和StringBuilder类基本常识、基本原理和使用技巧二、字符编码常识三、Java语言正则表达式的详细语法和使用技巧四、实战案例课程说明:在开发Java程序的过程,最常用的类莫过于字符串相关的类。可以毫不夸张的说,任何一个Java程序,都离不开对字符串保存和处理。很多学员对字符串的理解只是处于比较粗浅的阶段。殊不知,如果对字符串处理的不好,会影响到软件的运行效率。本课程专门讲解字符串相关的知识,将从字符串的存储方式、底层的运行方式等各方面深入讲解其的原理和技巧。此外,对字符串进行更高级的处理,又要用到正则表达式的相关知识。正则表达式广泛应用于各种与字符串处理相关的场合。它是一套独立的语言系统,经过几十年的完善和发展,现在已经非常的强大,并且形成了国际标准。各种高级编程语言,都实现了自己的表达式引擎。本课程详细的讲解了Java语言正则表达式的语法和使用技巧。掌握了正则表达式,对编程水平的提高有非常大的帮助!同时,本课程在最后一部分,安排了非常精彩的、完整的实战案例,通过实战的形式切实帮助学员提高解决具体问题的能力!预期效果:认真学习完本课程,学员可以掌握字符串处理及正则表达式相关的系统知识,并能提高实际的编码水平。环境配置要求:学习本课程需安装JDK1.8或更高版本的JDK,以便程序能正确运行,建议使用IntelliJ IDEA 2019.1.2或更高版本的开发工具。    因有合作协议约束,《穆哥学堂》只提供PDF版本的课件!

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧