简介
一个正则表达式,就是用某种模式去匹配字符串的一个公式。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
栗子:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String a = "1631 年,意大利传教士萨鲁布里诺(Agostino Salumbrino)" +
"从南美洲秘鲁人那里获得了一种有效治疗热病的药物——金鸡纳树皮(cinchona bark)" +
"并将之带回欧洲用于热病治疗,不久人们发现该药对间歇热具有明显的缓解作用。\n" +
"1820 年,法国化学家佩尔蒂埃(Pierre Joseph)和药学家卡文托(Joseph Bienaimé Caventou)" +
"从金鸡纳树皮分离治疗疟疾的有效成分并将之命名为奎宁(quinine)。";
//需求,提取文章中的所有英文单词
//传统方法:采用遍历方式,代码量大,效率低。
//正则表达式技术
//1. 先创建一个Pattern对象,模式对象,可以理解成一个正则表达式对象
Pattern pattern = Pattern.compile("[a-zA-Z]+");
//2. 创建一个匹配器对象
//理解:matcher匹配器按照 pattern(模式),到a文本中去查找匹配
//找到就返回true,否则就返回false
Matcher matcher = pattern.matcher(a);
//3. 可以开始循环匹配
while ((matcher.find())){
//匹配内容,文本放到matcher.group(0)
System.out.println("找到:" + matcher.group(0));
}
}
}