【问题标题】:Get an email from a string [duplicate]从字符串中获取电子邮件[重复]
【发布时间】:2016-01-07 17:32:12
【问题描述】:

这里是新手

这是我的问题

假设我的字符串是

var string = "this is a string that contains many different words
domain@gmail.com an I want just the email";

我想要的是一个正则表达式或其他可以得到这个domain@gmail.com的东西

我尝试了很多东西,但都没有成功

这是我尝试的最后一个

var myRegexp = /@(.*)/;
var match = myRegexp.exec(string);
if(match)
  console.log(match[1]);

this 总是返回 null 或 undefined

谁能帮帮我

编辑

我想要搜索 @ 之前和之后的所有内容并在空白处停止的东西

谢谢

【问题讨论】:

  • 我很确定如果您搜索“电子邮件正则表达式”,您会找到一些东西。
  • ex-parrot.com/pdw/Mail-RFC822-Address.html 获取完整解决方案。
  • 试试var match = string.match(/ \S+@(\S+)/);。也可以使用console.log(match[0]) 来查看整场比赛。
  • 如果电子邮件地址正好在字符串的末尾怎么办?
  • 我试过了。它适用于@jusopi 答案

标签: javascript regex


【解决方案1】:
emails = str.match(/(\S[^\s@]*@\S+)/gi)

【讨论】:

  • 周围括号的用途是什么?另外,为什么不/\S+?@\S+/
  • 不错。这也有效!
  • @torazaburo 我通常出于习惯使用括号。如果他们想在正文中添加 <a href="mailto: 链接,这很有用。
猜你喜欢
  • 1970-01-01
  • 2023-03-31
  • 2023-03-25
  • 1970-01-01
  • 2013-03-20
  • 2023-04-03
  • 2017-10-10
  • 2013-08-12
  • 1970-01-01
相关资源
最近更新 更多