在RichTextBox WPF MVVM中突出显示电子邮件和电话号码

时间:2018-10-22 00:20:04

标签: c# wpf richtextbox

您好,我在C#Wpf应用程序中有一个RichTextBox,我想制作一个控件以突出显示电子邮件和电话号码OnPreviewMouseMove事件如何检测电子邮件地址并突出显示它?

1 个答案:

答案 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;
}

,并且您可以根据要检测的电话号码的格式,对不同的电话使用相同的代码,并使用不同的正则表达式。我必须澄清一下,我使用的正则表达式模式可能无法涵盖所有​​类型的电子邮件!因此,尽管代码合适,但您需要为您的案例找到一个正则表达式模式。