-1

我正在尝试使用正则表达式从电子邮件地址中获取公司名称。我将电子邮件拆分两次。有没有更好的解决方案?

  c = "user@company_name.com"
 (c.split("@").last).split(".").first
4

3 回答 3

2

给出了另一个解决方案。

str = "user@company_name.com"[/[^@]+(?=\.)/]

查看工作演示

于 2013-09-30T03:37:19.027 回答
1
  1. 回答帖子中的问题(在编辑之前)

    从您的代码来看,您似乎想要提取顶级域(尽管它与标题相矛盾,这没有意义)。假设是这样,这将为您提供顶级域。

    "user@company_name.com"[/[^.]+\z/]
    # => "com"
    
  2. OP在对此答案的评论中另外提到的另一个问题的解决方案

    "user@company_name.com"[/(?<=@)[^.]+/]
    # => "company_name"
    
于 2013-09-30T02:35:23.177 回答
1

这将为您提供公司名称。

(.*)@(\w+)\.(.*)
于 2013-09-30T02:41:26.750 回答