“正则表达式 初体验”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第180行: 第180行:
 
找到:Java
 
找到:Java
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
 +
  
 
=== 示例:提取百度热榜的标题 ===
 
=== 示例:提取百度热榜的标题 ===
 +
假如已经通过爬虫从页面得到了一些文本,

2022年11月14日 (一) 12:14的版本

https://www.bilibili.com/video/BV1Eq4y1E79W

示例:提取一段文章中所有的英文单词

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

public class Test {

    public static void main(String[] args) {

        String content = "1995年,互联网的蓬勃发展给了Oak机会。" +
                "业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。" +
                "于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。" +
                "这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台," +
                "由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言," +
                "程序非常小,适合在网络上传输。" +
                "Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术)," +
                "并将Oak更名为Java。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。" +
                "IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目," +
                "竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。";

        //1、创建一个 Pattern 对象
        Pattern pattern = Pattern.compile("[a-zA-Z]+");

        //2、创建一个匹配器对象
        Matcher matcher = pattern.matcher(content);

        //3、开始循环匹配
        while (matcher.find()) {

            //匹配的内容文本会被放到 m.group(0)
            System.out.println("找到:" + matcher.group(0));

        }

    }

}
找到:Oak
找到:IT
找到:Sun
找到:Oak
找到:Oak
找到:Sun
找到:Applet
找到:Applet
找到:Oak
找到:Java
找到:Sun
找到:Sun
找到:world
找到:Java
找到:HotJava
找到:IBM
找到:Apple
找到:DEC
找到:Adobe
找到:HP
找到:Oracle
找到:Netscape
找到:Java
找到:Java



示例:提取一段文章中所有的数字

只需要修改 pattern 内容:

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

public class Test {

    public static void main(String[] args) {

        String content = "1995年,互联网的蓬勃发展给了Oak机会。" +
                "业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。" +
                "于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。" +
                "这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台," +
                "由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言," +
                "程序非常小,适合在网络上传输。" +
                "Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术)," +
                "并将Oak更名为Java。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。" +
                "IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目," +
                "竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。";

        //1、创建一个 Pattern 对象
        Pattern pattern = Pattern.compile("[0-9]+");

        //2、创建一个匹配器对象
        Matcher matcher = pattern.matcher(content);

        //3、开始循环匹配
        while (matcher.find()) {

            //匹配的内容文本会被放到 m.group(0)
            System.out.println("找到:" + matcher.group(0));

        }

    }

}
找到:1995
找到:5
找到:23


示例:提取一段文章中所有的英文单词和数字

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

public class Test {

    public static void main(String[] args) {

        String content = "1995年,互联网的蓬勃发展给了Oak机会。" +
                "业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。" +
                "于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。" +
                "这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台," +
                "由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言," +
                "程序非常小,适合在网络上传输。" +
                "Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术)," +
                "并将Oak更名为Java。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。" +
                "IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目," +
                "竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。";

        //1、创建一个 Pattern 对象
        Pattern pattern = Pattern.compile("([0-9]+)|([a-zA-Z]+)");

        //2、创建一个匹配器对象
        Matcher matcher = pattern.matcher(content);

        //3、开始循环匹配
        while (matcher.find()) {

            //匹配的内容文本会被放到 m.group(0)
            System.out.println("找到:" + matcher.group(0));

        }

    }

}
找到:1995
找到:Oak
找到:IT
找到:Sun
找到:Oak
找到:Oak
找到:Sun
找到:Applet
找到:Applet
找到:Oak
找到:Java
找到:5
找到:23
找到:Sun
找到:Sun
找到:world
找到:Java
找到:HotJava
找到:IBM
找到:Apple
找到:DEC
找到:Adobe
找到:HP
找到:Oracle
找到:Netscape
找到:Java
找到:Java



示例:提取百度热榜的标题

假如已经通过爬虫从页面得到了一些文本,