Java零基础学习正则表达式——API-正则练习

本文详细介绍并演示了正则表达式的实际应用,包括电子邮件地址的验证、叠词的去除、年龄的有效性检查以及手机号码的隐私保护。通过具体代码示例,读者可以深入理解正则表达式的语法和使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

邮箱检验

去除叠词:“我我......我要要要要.......要学学学学学学学编编....编...编编编编......编编编编程程程程........程...程.......”.将字符串还原成“我要学编程”。

验证年龄1-120

隐藏手机号码中间四位,用*代替,例如:182****6930;


 

  • 邮箱检验

    • package com.exec;
      
      public class CheckEmail{
          public static void main(String[] args) {
              String mail="abc12@sina.com";
              //\\w代表字母数字下换线,+代表一个或者多个,@固定字符,@后面一个或者多个字母数字,然后就是.和.后面的2~3个字母,例如.com
              //然后就是.com重复1~3遍
              String regex="\\w+@[a-zA-Z0-9]+(\\.[a-zA-Z]{2,3}){1,3}";
              boolean b=mail.matches(regex);
              System.out.println(b);
      
          }
      }
      

      思路:

      • \w代表字母数字下换线,

      • +代表一个或者多个,

      • @固定字符,@后面一个或者多个字母数字,

      • 然后就是.和.后面的2~3个字母,例如.com
        然后就是.com重复1~3遍

  • 去除叠词:“我我......我要要要要.......要学学学学学学学编编....编...编编编编......编编编编程程程程........程...程.......”.将字符串还原成“我要学编程”。

    • package com.exec;
      
      public class SpritWord {
          public static void main(String[] args) {
              String msg = "我我....我..我..要..要.要....学..学.学.编..编..编.程...程..程";
              String msg1 = msg.replaceAll("\\.", "");
              String regex = "(.)\\1+";
              String res = msg1.replaceAll(regex, "$1");
              System.out.println(res);
      
          }
      }
      

       

  • 验证年龄1-120

    • package com.exec;
      
      public class CheckAge {
          public static void main(String[] args) {
              String age="121";
              String ageReg="^([1-9]\\d?|1[01]\\d|120)$";
              System.out.println(age.matches(ageReg));
          }
      }
      

       

  • 隐藏手机号码中间四位,用*代替,例如:182****6930;

  • package com.exec;
    
    public class HidePhone {
        public static void main(String[] args) {
            //运行结果159****1111
            String temp="15900001111";
                //利用捕获组将手机号分为3组,在第二个字符串中调用这两个捕获组
                temp=temp.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
                System.out.println(temp);
    
    
        }
    }
    

    不会的可以看一下这个教程,挺不错的。很详细菜鸟教程的正则表达式教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值