正则表达式用于掩盖除Java中前两位数字之外的字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式用于掩盖除Java中前两位数字之外的字符相关的知识,希望对你有一定的参考价值。

在Apex中,我想写一个正则表达式来执行以下操作:

source string: abcdefg
output string: ab*****

source string: 123456789
output string: 12*******

source string: a123d
output string: a1***

到目前为止我尝试了什么:

String t= "salesforce"; 
String r = t.replaceAll("\w(?=\w{2})", "*"); 
system.debug("==r=="+r); 

输出:

********ce
答案

您可以使用以下代码来制作技巧:

String t= "salesforce"; 
String r = t.replaceAll("(?<=..).", "*"); 
System.out.println("output: "+r);

输出:

output: sa********

说明:

(?<=..).正则表达式将识别字符串中的每个字符,这些字符符合前面有2个字符的约束,这将从第3个字符到字符串结尾,如下所示,然后你只需用*替换这些字符

但是:ぁzxswい

以上是关于正则表达式用于掩盖除Java中前两位数字之外的字符的主要内容,如果未能解决你的问题,请参考以下文章

Java 正则表达式,用于包装除某些给定字符之外的所有内容

用于从字符串中删除除“a”和“i”之外的所有单个字母的 Java 正则表达式 [关闭]

正则表达式匹配除 5 之外的所有数字字符

RegEx 用于匹配除逗号分隔的数字之外的所有字符

正则表达式去除除科学记数法之外的所有非数字字符

用于定位回车换行符的正则表达式后跟除 8 位数字和 | 之外的任何内容