Я использовал регулярные выражения следующих 2, что я нашел здесь:C# регулярное выражение для неудобной почты и номера телефона
10 цифр номера телефона с пространством до и после него:
@"(?<!\d)\d{10}(?!\d)"
Для электронной почты:
@"(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@" + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
[0-9] {1,2} | 25 [0-5] | 2 [0-4] [0-9]). " + @" ([0-1]? [0-9] {1,2} | 25 [0-5] | 2 [0-4] [0-9]) ([0-1] [0-9] {1,2} |.? 25 [0-5] | 2 [0-4] [0-9])) {1} | " + @" ([a-zA-Z] + [\ w -] +.) + [A-zA-Z] {2,4}) ";
электронной почты регулярное выражение отлично подходит для нормальных и правильных адресов электронной почты работает,
но мой ввод текста на самом деле не нормально и правильно, Сау я должен ввести еще одну особенность для этого, я также хотел бы, чтобы ему синтаксический анализ:
[email protected] -email.com *or* [email protected] email.com *or* [email protected] - email.com
И 10-значный номер телефона выражение извлекает только последние 9 цифр номера, с номером телефона, начиная с 0:
для пг =я только получаю: 123456789, номер телефона находится в тексте: "some text hereand some more here"
.
Я также обнаружил, что 10-значный номер, можно найти в этой форме: 012/3456789
Что-то, что нужно прочитать перед устранением этой проблемы http://www.regular-expressions.info/email.html – Gusdor
Посмотрите: http://en.wikipedia.org/wiki/Email_address#Valid_email_addresses, вы увидите, что '! # $% & '* + -/=?^_' {} | ~ @ example.org' является допустимым адресом, а также 'postbox @ com', но они не соответствуют вашему регулярному выражению. – Toto
Единственный способ проверить адрес - отправить электронное письмо на этот адрес. В конце концов вы можете проверить '[^ @] + @ [^ @] +' – Toto