"<li>([\\u4e00-\\u9fa5]{2,10})([a-zA-z]+)</li>"
Pattern p = Pattern.compile("<li>([\\u4e00-\\u9fa5]{2,10})([a-zA-z]+)</li>");
这一句话中的正则表达式,为什么不需要加入^$?
13
收起
正在回答 回答被采纳积分+1
4回答
mixiaofan
2019-11-26 15:58:58
package com.imooc.regex;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexSample {
public static void main(String[] args) {
StringBuilder content = new StringBuilder();
try {
FileInputStream fis = new FileInputStream("C:\\My Work Material\\idea\\zhengzebiaodashi\\regex\\web\\sample.html");
InputStreamReader isr = new InputStreamReader(fis, "utf-8");
BufferedReader bufferedReader = new BufferedReader(isr);
String lineText = "";
// 整行读取,直到读取为空
while ((lineText = bufferedReader.readLine()) != null) {
// System.out.println(lineText);
content.append(lineText+"\n");
}
bufferedReader.close();
// System.out.println(content);
} catch (Exception e) {
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));
String chs = m.group(1);
String eng = m.group(2);
System.out.println(chs + "--" + eng);
}
}
}这里我加上之后什么输出都没有了
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星