Java 按要求爬取数据(?= ?! ?:)09

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

需求
有如下文本按要求爬取数据。
Java自从95年问世以来经历了很多版本目前企业中用的最多的是Java8和Java11因为这两个是长期支持版本下一个长期支持版本是Java17相信在未来不久Java17也会逐渐登上历史舞台。
需求1
爬取版本号为811.17的Java文本但是只要Java不显示版本号。
需求2
爬取版本号为81117的Java文本。正确爬取结果为Java8 Java11 Java17 Java17
需求3
爬取除了版本号为81117的Java文本。

代码示例

package com.liming;

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

public class Demo11 {
    public static void main(String[] args) {
        String s = "Java自从95年问世以来经历了很多版本目前企业中用的最多的是Java8和Java11" +
                "因为这两个是长期支持版本下一个长期支持版本是Java17相信在未来不久Java17也会逐渐登上历史舞台";

        //1.定义正则表达式
        //?理解为前面的数据Java
        //=表示在Java后面要跟随的数据
        //但是在获取的时候只获取前半部分
        //需求1:
        String regex1 = "((?i)Java)(?=8|11|17)";
        //需求2:
        String regex2 = "((?i)Java)(8|11|17)";
        String regex3 = "((?i)Java)(?:8|11|17)";
        //需求3:
        String regex4 = "((?i)Java)(?!8|11|17)";

        Pattern p = Pattern.compile(regex4);
        Matcher m = p.matcher(s);
        while (m.find()) {
            System.out.println(m.group());
        }
    }
}

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java