简介

一个正则表达式,就是用某种模式去匹配字符串的一个公式。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

栗子:

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

image.png