一、体验正则表达式
1.正则表达式能非常高效的处理文本
2.正则表达式是对字符串执行模式匹配的技术
package com.jun.regexp;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正则表达式给文本处理带来的便利
*/
public class Regexp01 {
public static void main(String[] args) {
//文本如下:
String content ="鸭是雁形目鸭科(Anatidae)鸭亚科(Anatinae)水禽的统称,或称真鸭。" +
"鸭的体型相对较小,颈短,一些属的嘴要大些。腿位于身体后方(如同天鹅一样),因而步态蹒跚。" +
"大多数真鸭(包括由于个体大小和体形原因而被不正确地称为雁的几种鸟)与天鹅、雁不同,具有下列特征:" +
"雄鸟每年换羽2次,雌鸟每窝产卵数亦较多,卵壳光滑;腿上覆盖著相搭的鳞片;叫声则显示出某种程度的性别差异。";
//提取所有的英文单词
//提取所有的数字
//提取所有的英文单词和数字
//传统方法,使用遍历,代码多,效率低
//使用正则表达式
//1.创建一个Pattern对象,模式对象,就是一个正则表达式对象
//Pattern pattern = Pattern.compile("[a-zA-Z]+");
// Pattern pattern = Pattern.compile("[0-9]+");
Pattern pattern = Pattern.compile("([0-9]+)|([a-zA-Z]+)");
//2.创建一个匹配器对象
//matcher 匹配器按照 pattern(模式/样式),到content文本中去匹配,找到就返回true,没有就false
Matcher matcher = pattern.matcher(content);
//3.开始循环匹配
while (matcher.find()){
//匹配内容,文本,放到m.group(0)
System.out.println("找到:"+matcher.group(0));
}
}
}