本文介绍了如何在正则表达式中掩码*的部分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从Java中屏蔽电子邮件地址

  some-email@domail.com 

  s ** ******l@domail.com 

- 屏蔽本地名称,不必只有第一个和最后一个字母
我想要匹配数量的替换符号数量



我需要一些表达式,如

  /^(.)(.*)(.)@(.*)$/ 

并在第2部分中用*



替换每个符号我如何在Java中执行此操作?

解决方案

您可以使用这个正则表达式与 String#replaceAll

  String email =some-email@domail.com; 

String masked = email.replaceAll((?< =。)。(?= [^ @] *?。@),*);
// => s $ o
$ / code $

I want to mask email adress in Java from

some-email@domail.com 

to

s********l@domail.com 

- mask local name without only first and last letterand i want to number of * match amount of replaced symbols

I need some expression like

 /^(.)(.*)(.)@(.*)$/    

and replace in part 2 each symbols with *

How can i do this in Java?

解决方案

You can use this regex with String#replaceAll:

String email = "some-email@domail.com";

String masked = email.replaceAll("(?<=.).(?=[^@]*?.@)", "*");
//=> s********l@domail.com

这篇关于如何在正则表达式中掩码*的部分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 15:46