Выделите адрес электронной почты и номер телефона в RichTextBox WPF MVVM - PullRequest
0 голосов
/ 22 октября 2018

Здравствуйте, у меня есть RichTextBox в приложении C # Wpf. Я хочу создать элемент управления для выделения адреса электронной почты и номера телефона. Событие OnPreviewMouseMove. Как определить адрес электронной почты и выделить его?

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете использовать это, чтобы выделить электронные письма:

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

, и вы можете использовать тот же код с другим регулярным выражением для телефонов в зависимости от формата телефонных номеров, которые вы хотите обнаружить.Я должен уточнить, что шаблон регулярного выражения, который я использовал, может не охватывать все виды электронных писем!Поэтому, пока код подходит, вам нужно найти шаблон регулярного выражения для вашего случая.

...