Siebel应用程序中的正则表达式问题

时间:2015-02-19 19:12:42

标签: regex siebel

当我收到来自auser的电子邮件时,我想屏蔽DL号码。我想在我的Siebel应用程序中使用现有的reqular表达式。我有这样的现有应用程序的正则表达式:

([\s.,:])(\d{7,9})([\s.,:])

此表达式掩盖了DL编号中的所有字符。但是我想只显示DL号码的最后4位数字。你能帮我完成这个功能吗?

上面的表达式掩盖了7位,8位和9位数字。我想只显示最后4位数字。

2 个答案:

答案 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组