现在网络越来越关注一些隐私,比如手机号隐藏当中的若干位数字,或隐藏身份证,银行卡号当中的若干长度为星号
对于一些固定长度的内容转换其实都挺方便的,但对于一些非定长的内容想保留固定尾部内容或者头部内容的话就比较麻烦了。
这两天发现很多朋友都不会写这个正则表达式,这里拿出来分享下
比如手机号只显示头尾的各3个数字,最简单的做法就是截取头部三个数字和尾部三个数字,然后当中插入5个星号就可以
这种做法显得比较笨拙,当然效率可能高一些,不过缺乏灵活性,比如人名显示姓,名字换成对应的*,那人名长度现在一般在2-4个字,具体后面跟多少个星号*,根据人数迭代啥的就麻烦点了
如果使用正则的话,就比较灵活,代码也比较简单。
假设对一串数字,保留头尾各3个数字,当中全部替换成*的话,代码如下:
String mobile = "13123456789"; String outMobile = mobile.replaceAll("(?<=\\d{3})\\d(?=\\d{3})", "*"); System.out.println(outMobile);
正则表达式的意思是,把所有前面有3个数字,后面有3个数字的数字换成*,那么于是从字符串中的2开始到7均在这个条件范围内,所以就全部替换了。
其他的可以根据这个灵活变换,当然如果反复这么调用的话,性能不是很高,所以建议参考replaceAll的源码,先生成Pattern对象,然后直接调用pattern.matcher(mobile).replaceAll("*");来操作,这样可以节省对象创建的内存及性能方面的消耗
相关推荐
本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本...用正则表达式替换字符串内容,使用正则表达式切割字符串,字符串匹配,将字符串“<msg>ha>ve modif”中的>替换为>将<替换为<将&替换为2. 等等情况!
让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel 正则工具」顾名思义,需要使用 “正则表达式(PCRE)” 的知识来进行操作,对于完全没有接触过正则的朋友也许有一定的入门门槛,但正则实在是太过强大...
易语言正则表达式文本替换源码,正则表达式文本替换,子程序_正则文本替换
最新手机号码、电话号码正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,...
分割 的功能是使用正则表达式对字符串进行分割。 正则表达式检索与替换 正则表达式的匹配方法 match()尝试从字符串的起始位置匹配一个模式,匹配成功返回匹配的信息,如果不是起始位置匹配成功的话,match()就返回...
c#使用正则表达式验证身份证号码,工程完全可以运行,方便大家参考和学习
主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧,需要的朋友可以参考下
正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么...本文接下来的内容先简要地介绍正则表达式的入门知识,然后以Jakarta-ORO API为例介绍如何使用正则表达式。
正则表达式替换文本,已测试通过,如有更新另行通知
效果描述: 经常被<textarea>中的回车符给困扰着, 回车换行的内容(\r\n)经常需要显示为HTML中的 ,这时就需要做替换操作了。... 如果只是简单的将字符... 问题不难,关键是得懂得运用正则表达式来操作!
java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式
【全球手机号码正则表达式】 1.格式:JSON 2.例示:{"86":{"regex":"^(86){0,1}1\d{10}$","sn":"CN"}} 3.通过短号例如:86,从json的key中获取正则表达式(regex),国家代码(sn)
java正则表达式替换字符串
正则表达式,正则表达式,正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式
一个非常好的 正则表达式替换工具 1.1.0.9 可以测试正则表达式 还要以批量替换
pb 使用正则表达式源码pbregexp pb中使用正则表达式组件,通过该组件可以在pb脚本中使用功能强大的正则表达式
常用正则表达式 正则表达式 常用正则表达式 正则表达式
java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。