如果使用正则表达式,替换Email地址@后面的字符串为"****"
如替换: "abc@163.com " 为: "abc@***.*** "
------解决方案--------------------@.+\.(com)|(net)|(com.cn)|(net.cn)
------解决方案--------------------已经是合法的Email地质了,还需要再次使用正则表达式么?查找 "@ "的索引,然后使用字符串截取不就可以了么
------解决方案--------------------string s = "abc@163.com ";
Regex g = new Regex( "^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+)\\.([a-zA-Z]+)+$ ");
if (g.IsMatch(s))
{
Match m = g.Match(s);
s = s.Replace(m.Groups[1].Value, "*** ");
s = s.Replace(m.Groups[2].Value, "*** ");
}
------解决方案--------------------string str = "12131abc@163.com.cn.net ";
str = Regex.Replace(str,@ "[^\.@](?!.*@) ", "* ");
Response.Write(str);
------解决方案--------------------手机号
string yourStr = ........;
string resultStr = Regex.Replace(yourStr, @ "\d{4}$ ", "**** ");
IP地址
string yourStr = ........;
string resultStr = Regex.Replace(yourStr, @ "\d+$ ", "* ");
事实上这些都没必要用正则的