您好,我在C#Wpf应用程序中有一个RichTextBox,我想制作一个控件以突出显示电子邮件和电话号码OnPreviewMouseMove事件如何检测电子邮件地址并突出显示它?
答案 0 :(得分:0)
您可以使用它突出显示电子邮件:
string data = richTextBox1.Text;
Regex emailRegex = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",
RegexOptions.IgnoreCase);
//find items that matches with our pattern
MatchCollection emailMatches = emailRegex.Matches(data);
foreach (Match item in emailMatches)
{
var index = item.Index;
var length = item.Length;
richTextBox1.Select(index, length);
richTextBox1.SelectionBackColor = Color.Yellow;
}
,并且您可以根据要检测的电话号码的格式,对不同的电话使用相同的代码,并使用不同的正则表达式。我必须澄清一下,我使用的正则表达式模式可能无法涵盖所有类型的电子邮件!因此,尽管代码合适,但您需要为您的案例找到一个正则表达式模式。