Compartir tecnología

J023_Rastreo de información mediante expresiones regulares

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Descripción del requisito

Extraiga el número de teléfono, la dirección de correo electrónico, el número de teléfono fijo y la línea directa del siguiente texto:

Venga a Black Horse Programmers para aprender Java Tel: 18512566758, 18354678765; o correo electrónico de contacto: [email protected], teléfono fijo: 010365178955, 010-989512356; línea directa: 400-618-9090, 400-618-4000, 4006184000, 4006180909.

2. Implementación del código

  1. package com.itheima.regex;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4. public class TestCase2 {
  5. public static void main(String[] args) {
  6. method1();
  7. }
  8. public static void method1(){
  9. //文本
  10. String data = "来黑马程序员学习Java,n" +
  11. " 电话:18512566758,18354678765;n" +
  12. " 或者联系邮箱:[email protected];n" +
  13. " 座机电话:010365178955,010-989512356;n" +
  14. " 邮箱[email protected],n" +
  15. " 邮箱2:[email protected];n" +
  16. " 热线电话:400-618-9090,400-618-4000,4006184000,4006180909。";
  17. //定义爬取规则
  18. String regex = "(1[3-9]\d{9})|(0\d{2,7}-?[1-9]\d{4,19})|\w{2,}@\w{2,20}(\.\w{2,10}){1,2}" +
  19. "|(400-?\d{3,7}-?\d{3,7})";
  20. //把正则表达式封装成一个pattern对象
  21. Pattern pattern = Pattern.compile(regex);
  22. //通过pattern对象去获取查找内容的匹配器对象
  23. Matcher matcher = pattern.matcher(data);
  24. //定义循环开始爬取信息
  25. while (matcher.find()) {
  26. String result = matcher.group();
  27. System.out.println(result);
  28. }
  29. }
  30. }