Добрый день ~ Я не очень хорошо разбираюсь в этом регулярном выражении. Так что мне нужна ваша помощь.Как найти строку между некоторыми символами с помощью regex в C#
Условие: Пользователи могут вводить адрес электронной почты и имя вместе. Я хочу извлечь адрес электронной почты и имя пользователя из строки.
string pattern1 = "Peter Jackson<[email protected]>";
Из этой строки я хочу, чтобы получить "Питер Джексон" и "<[email protected]>".
string pattern2 = "Peter Jackson([email protected])";
Однако люди всегда ошибаются, как показано ниже.
И они также могут использовать «[» вместо «<». так ...
string pattern3 = "Peter Jackson[[email protected]]";
Даже некоторые глупые пользователи могут вводить как ...
string pattern4 = "Peter Jackson{[email protected]}";
Итак, я должен был искать героев, которые "<", "(", «[ "и„{“. Я попытался
string regularExpressionPattern = @"^(<|(|[|{)(.*?)^(}|]|)|>)";
Но я думаю, что я сделал что-то не так. и я стараюсь думать, что люди могли бы ввод более ошибка, как ....
string pattern5 = "Peter Jackson<[email protected]>mistake";
Помогла ли вам эта проблема? Спасибо.
PS: Я знаю, как разделить строку с символом. Так что это не поможет. Мне нужно правильное регулярное выражение.
Это поможет, если вы сказали * что * пошло не так. (Что вы ожидали? Что на самом деле произошло?) –
Почему бы просто не спросить их полное имя и адрес электронной почты как два отдельных входа ...? – vcsjones
@vcsjones Разработка - это не простая работа. Не так ли? ^^; –