Я хочу Извлечь только Почту в данной строке, используя RegExp - PullRequest
0 голосов
/ 15 марта 2019

Заданная строка:

/CN=RECIPIENTS/CN=GMAIL.ONMICROSOFT.COM-52001-KARNIK@GMAIL.COM213

/CN=RECIPIENTS/CN=GMAIL.ONMICROSOFT.COM-52001-AHMED@GMAIL.COM213

ВЫХОД:

 KARNIK@GMAIL.COM

AHMED@GMAIL.COM

Я использую этот шаблон, но он не работает

^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Одним из возможных решений для получения электронной почты из вашей входной строки является

1) Разделить строку по дефису (-).

2) Возьмите 3 разделенную строку с индексом [2].

3) И удалить цифры из разделенной строки.

string input = "/CN=RECIPIENTS/CN=GMAIL.ONMICROSOFT.COM-52001-AHMED@GMAIL.COM213";

string output = new string(input.Split('-')[2].Where(x => !char.IsDigit(x)).ToArray());

Вывод:

enter image description here

Примечание: Приведенный выше код работает только для ввода с OP.

0 голосов
/ 15 марта 2019

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

Регулярное выражение:

[a-zA-Z]+@[a-zA-Z]+[.][a-zA-Z]+

Вывод на regex101:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...