控制台没有输出

控制台没有输出

# 具体遇到的问题
正则表达式匹配之后控制台没有输出
# 报错信息的截图
没有报错
# 粘贴全部相关代码,切记添加代码注释(请勿截图)

package regex;


import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.InputStreamReader;

import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class RegexSample {

public static void main(String[] args) {

//1.读取原始文件

StringBuilder content=new StringBuilder();//存放文件的内容

try {

FileInputStream fis=new FileInputStream("E:\\workspace\\eclips_ee_workspace\\regex\\WebContent\\sample.html");//文件输入流→处理二进制文件

//二进制流→字符流

InputStreamReader isr=new InputStreamReader(fis,"utf-8");

BufferedReader bufferedReader=new BufferedReader(isr);//提高对原始文件的读取效率

String lineText="";//保存每一行读取的数据

//(lineText=bufferedReader.readLine())!=null  readLine()读取整行,当返回值为null的时候表示读取完成

while((lineText=bufferedReader.readLine())!=null) {

// System.out.println(lineText);

content.append(lineText+"\n");

}

bufferedReader.close();

// System.out.println(content);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//Pattern→正则表达式的类

//1.创建正则表达式对象

Pattern p=Pattern.compile("<li>([\\u4e00-\\u9fa5])({2,10}[a~zA~Z]+)</li>");

//2.匹配正则表达式

Matcher m=p.matcher(content);

//3.查找匹配的结果

while(m.find()) {

System.out.println(m.group(0));

System.out.println(m.group(1));

System.out.println(m.group(2));

}

}

}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,同学的正则表达式有误,应该是:

Pattern p = Pattern.compile("<li>([\\u4e00-\\u9fa5]{2,10})([a-zA-Z]+)</li>");

​表示匹配中文2-10个字符;匹配英文,且长度至少出现一次。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师