File size: 2,277 Bytes
0284885 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | package Reptile_package;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Reptile_demo1 {
public static void main(String[] args) {
/*如下文本,请按要求爬取数据。
java自从95年问世以来,经历了很多版本,目前企业中用的最多的是java8和java11,
因为这两个是长期支持版本,下一个长期支持版本是java17,相信在未来不久java17也会逐渐登上历史舞台
要求:找出里面所有的javaXX
*/
String str = "java自从95年问世以来,经历了很多版本,目前企业中用的最多的是java8和java11," +
"因为这两个是长期支持版本,下一个长期支持版本是java17,相信在未来不久java17也会逐渐登上历史舞台";
//method1(str);
//1、获取正则表达式的对象
Pattern p = Pattern.compile("java\\d{0,2}");
//2、获取文件匹配器的对象
//拿着m去读取str,找符合p规则的子串
Matcher m = p.matcher(str);
//3、利用循环获取
while (m.find()) {
String s = m.group();
System.out.println(s);
}
}
private static void method1(String str) {
//Pattern:表示正则表达式
//Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读
//在大串中去找符合匹配规则的子串
//获取正则表达式的对象
Pattern p = Pattern.compile("java\\d{0,2}");
//获取文件匹配器的对象
//m:文本匹配器的对象
//str:大串
//p:规则
//m要在str中找符合p规则的小串
Matcher m = p.matcher(str);
//拿着文本匹配器从头开始读取,寻找是否有满足规则的子串
//如果没有,方法返回false
//如果有,返回true。在底层记录子串的起始索引和结束索引+1
boolean b = m.find();
//方法的底层会根据find方法记录的索引进行字符串的截取
//sunString(起始索引,结束索引);包头不包尾
String s1 = m.group();
System.out.println(s1);
}
}
|