爬虫学习笔记

Java爬虫学习笔记

示例代码

import java.util.regex.Matcher;
import java.util.regex.Pattern;

String str = "待匹配文本";

//Pattern: 表示正则表达式
Pattern p = Pattern.compile("正则表达式");

//Matcher: 文本匹配器,按照正则表达式的规则去读取字符串,从头开始找符合规则的子串
Matcher m = p.matcher(str);

//如果没有符合的子串,返回false
//如果有,返回true。在底层记录子串的起始索引和结束索引+1
while(m.find()) {
    String res = m.group();
    System.out.println(res);
}
//?理解为前面的数据Java
//=表示在Java后面要跟随的数据
//但是在获取的时候,只获取前半部分
String regex = "Java(?=8|11|17)";

贪婪捕获和非贪婪捕获

  • 贪婪捕获:尽可能多地获取(Java中+默认)
  • 非贪婪捕获:尽可能少地获取

捕获分组和非捕获分组

img_show