当我收到来自auser的电子邮件时,我想屏蔽DL号码。我想在我的Siebel应用程序中使用现有的reqular表达式。我有这样的现有应用程序的正则表达式:
([\s.,:])(\d{7,9})([\s.,:])
此表达式掩盖了DL编号中的所有字符。但是我想只显示DL号码的最后4位数字。你能帮我完成这个功能吗?
上面的表达式掩盖了7位,8位和9位数字。我想只显示最后4位数字。
答案 0 :(得分:0)
To" mask" (也就是说,替换所有的初始数字,但最后四个用" X"字符替换)你的字符串,你可以使用这个.NET正则表达式:
\d(?=\d*\d{4}(?:$|\s))
public Regex MyRegex = new Regex(
@"\d(?=\d*\d{4}(?:$|\s))",
RegexOptions.IgnoreCase
| RegexOptions.Singleline
| RegexOptions.CultureInvariant
| RegexOptions.Compiled
);
string result = MyRegex.Replace("1234567 | 123456789 | 12345678", "X");
输出:
XXX4567 | XXXXX6789 | XXXX5678
答案 1 :(得分:0)
试试这个:
([\s.,:])(\d{3,5})(\d{4})([\s.,:])
最后四位数将存储在$ 3组
中