Как получить адрес электронной почты из строки
Я ищу способ извлечь все адреса электронной почты из заданной строки. Например: если у меня есть строка "AB CD [ABCD@gmail.com]", я хочу получить только "ABCD@gmail.com".
Я думаю, что я должен использовать функцию сравнения RegExp и String, но я не уверен, как.
Есть идеи?
2 ответа
String.match
это действительно путь
var email:String = "foo foo bar@barbar.com sploof";
var matches:Array = email.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g);
При этом используется регулярное выражение для соответствия RFC2822 из регулярных выражений сообщества regexr.
Я предлагаю вам прочитать здесь о правильном регулярном выражении для соответствия электронным письмам. И да, вы должны использовать match
функции вашего языка, но имейте в виду, что вы должны адаптировать свое регулярное выражение к вашему шаблону электронной почты, как, например, в этом случае вы можете включить наличие [
а также ]
,
Я также советую использовать Regex Buddy, чтобы попробовать и протестировать регулярные выражения, это лучший инструмент из всех, которые я знаю.