字符串很长,包含名字,姓氏,许多空格和电子邮件。有时名字丢失了。我正在尝试使用Ruby脚本将所有电子邮件解压缩到一个数组中。我将如何实现这一目标?
我发现这是最好的正则表达式:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$
我的字符串看起来像:
"first name last name abc@hotmail.com firstname def@gmail.com"
如何创建循环字符串并将电子邮件推送到数组中的函数?
答案 0 :(得分:0)
电子邮件没有空格,因此您可以使用正则表达式/\S+@\S+/
:
irb(main):004:0> "first name last name abc@hotmail.com firstname def@gmail.com".scan(/\S+@\S+/)
=> ["abc@hotmail.com", "def@gmail.com"]
\S
匹配非空白字符。