Java正则替换手机号代码实例

 更新时间:2017年09月18日 12:05:26   作者:聽海的聲音  
本文的主要内容是Java语言中正则表达式替换手机号的第4到第7位,实现方法十分简单,同时涉及了一些正则表达式的相关用法,需要的朋友可以参考下。

在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号“*”。这是出于对安全性和保护客户隐私的考虑将程序设计成这样的。下面我们就来看看具体代码。

package Test0914;
public class Mobile {
  public static void main(String[] args) {
    String mobile = "13856984571";
    mobile = mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    System.out.println(mobile);
  }
}

输出结果如下:

138****4571

这只是正则表达式的一个简单用法,下面我们拓展一下其他相关用法及具体介绍。

1,简单匹配

在java中字符串可以直接使用

String.matches(regex)

注意:正则表达式匹配的是所有的字符串

2,匹配并查找

找到字符串中符合正则表达式的subString,结合Pattern Matcher 如下实例取出尖括号中的值

String str = "abcdefefg";
String cmd = "<[^\\s]*>";
Pattern p = Pattern.compile(cmd);
Matcher m = p.matcher(str);
if(m.find()){
System.out.println(m.group());
}else{
System.out.println("not found");
}

此时还可以查找出匹配的多个分组,需要在正则表达式中添加上括号,一个括号对应一个分组

String str="xingming:lsz,xingbie:nv";
String cmd="xingming:([a-zA-Z]*),xingbie:([a-zA-Z]*)"'
Pattern p = Pattern.compile(cmd);
Matcher m = p.matcher(str);
if(m.find()){
System.out.println("姓名:"+m.group(1));
System.out.println("性别:"+m.group(2));
}else{
System.out.println("not found");
}

3,查找并替换,占位符的使用

String str= “abcaabadwewewe”;
String str2 = str.replaceAll("([a])([a]|[d])","*$2")
str2为:abc*ab*dwewewe

将a或d前面的a替换成*,$为正则表达式中的占位符。

总结:

以上就是本文关于正则表达式替换手机号中间四位的具体代码和正则表达式的一些相关用法,希望对大家有所帮助。

相关文章

  • Java中的CyclicBarrier同步屏障详解

    Java中的CyclicBarrier同步屏障详解

    这篇文章主要介绍了Java中的CyclicBarrier同步屏障详解,CyclicBarrier也叫同步屏障,在JDK1.5被引入,可以让一组线程达到一个屏障时被阻塞,直到最后一个线程达到屏障时,屏障才会开门,所有被阻塞的线程才会继续执行,需要的朋友可以参考下
    2023-09-09
  • Windows系统下Eclipse搭建ESP32编译环境及安装过程

    Windows系统下Eclipse搭建ESP32编译环境及安装过程

    Ecppse 使用了 ESP-IDF 中的 Makefile 支持。这意味着您需要从创建 ESP-IDF 项目开始。您可以使用 github 中的 idf-template 项目,接下来通过本文给大家介绍Windows系统下Eclipse搭建ESP32编译环境及安装过程,感兴趣的朋友一起看看吧
    2021-10-10
  • windows java.exe内存暴涨解决、idea跑java\ tomcat内存无限增长

    windows java.exe内存暴涨解决、idea跑java\ tomcat内存无限增长

    这篇文章主要介绍了windows java.exe内存暴涨解决、idea跑 java\ tomcat内存无限增长,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java实现简单的RPC框架的示例代码

    Java实现简单的RPC框架的示例代码

    本篇文章主要介绍了Java实现简单的RPC框架的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • SpringBoot中的@PostConstruct注解详细解析

    SpringBoot中的@PostConstruct注解详细解析

    这篇文章主要介绍了SpringBoot中的@PostConstruct注解详细解析,@PostConstruct注解,主要用于在Spring容器启动时执行某些操作或者任务,@PostConstruct注解一般放在BEAN的方法上,一旦BEAN初始化完成之后,将会调用这个方法,需要的朋友可以参考下
    2024-01-01
  • 自己动手写一个java版简单云相册

    自己动手写一个java版简单云相册

    这篇文章主要为大家分享了自己动手写的一个java版简单云相册,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • springMVC引入Validation的具体步骤详解

    springMVC引入Validation的具体步骤详解

    本文简单介绍如何引入validation的步骤,如何通过自定义validation减少代码量,提高生产力,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • SprintBoot深入浅出讲解场景启动器Starter

    SprintBoot深入浅出讲解场景启动器Starter

    本篇文章将和大家分享一下 Spring Boot 框架中的 Starters 场景启动器的内容,关于 Starters 具体是用来做什么的,以及在开发 Spring Boot项目前,要如何自定义一个 Starters 场景启动器
    2022-06-06
  • Java文件上传与文件下载实现方法详解

    Java文件上传与文件下载实现方法详解

    这篇文章主要介绍了Java文件上传与文件下载实现方法,结合实例形式详细分析了Java文件上传与文件下载相关操作原理、实现方法及相关操作注意事项,需要的朋友可以参考下
    2019-02-02
  • Mybatis控制台打印SQL语句的两种方式实现

    Mybatis控制台打印SQL语句的两种方式实现

    这篇文章主要介绍了Mybatis控制台打印SQL语句的两种方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论