“正则表达式 初体验”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第3行: | 第3行: | ||
=== 示例:提取一段文章中所有的英文单词 === | === 示例:提取一段文章中所有的英文单词 === | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
+ | import java.util.regex.Matcher; | ||
+ | import java.util.regex.Pattern; | ||
+ | |||
public class Test { | public class Test { | ||
第60行: | 第63行: | ||
找到:Java | 找到:Java | ||
找到:Java | 找到:Java | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 示例:提取一段文章中所有的数字 === | ||
+ | 只需要修改 pattern 内容:<syntaxhighlight lang="java"> | ||
+ | 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)); | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight><syntaxhighlight lang="console"> | ||
+ | 找到:1995 | ||
+ | 找到:5 | ||
+ | 找到:23 | ||
</syntaxhighlight> | </syntaxhighlight> |
2022年11月14日 (一) 11:45的版本
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