Как получить адрес электронной почты из строки - PullRequest
0 голосов
/ 26 августа 2010

Я ищу способ извлечь все адреса электронной почты из заданной строки.Например: если у меня есть строка «AB CD [ABCD@gmail.com]», я хочу получить только «ABCD@gmail.com».

Думаю, мне следует использовать функции сопоставления RegExp и String, ноЯ не уверен, как.

Есть идеи?

Ответы [ 2 ]

5 голосов
/ 26 августа 2010

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 .

0 голосов
/ 26 августа 2010

Я предлагаю вам прочитать здесь о правильном регулярном выражении для соответствия электронным письмам. И да, вам следует использовать функцию match вашего языка, но помните, что вы должны адаптировать свое регулярное выражение к вашему шаблону электронной почты, как, например, в этом случае вы можете указать наличие [ и ].

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

...