如何编写RegEx以在电子邮件地址中查找姓名?

时间:2017-11-08 06:53:08

标签: regex

Kapil Arora <kapil.arora@abc.in> 

如何在尖括号之前找到名称

这是我使用([^<]+).的RegEx,但它找不到第一个String

3 个答案:

答案 0 :(得分:0)

由于您尚未指定任何语言。我会用JavaScript解决。

让我们假设一个电子邮件ID为“kapil.sharma123@gmail.com”。

因此程序将是这样的:

var email = "kapil.sharma123@gmail.com";
var regex = /(^[A-Za-z]+\.+[A-Za-z]+)/;
var res   = email.match(regex)[1];
res = res.split(".").join(" ");

这里我将正则表达式与电子邮件ID字符串进行匹配,然后从第一个索引中提取。 最后,我正在分裂“。”并加入空白空间。

注意:它也适用于简单的电子邮件ID,例如“kapil.sharma@gmail.com”

答案 1 :(得分:0)

我只是在表达式的头部添加一个输入锚点^的开头,再加上一个空格,这样你就得到了名字(没有尾随空格):

^[^<]+(?= )

不需要括号;组0是整场比赛,这就是你想要的。

请参阅live demo

答案 2 :(得分:0)

你可以试试这个:

&#13;
&#13;
const regex = /^\s*([^<]+)\s*</g;
const str = `Kapil Arora <kapil.arora@abc.in> bla bla bla <asadfasdf>`;
var match = regex.exec(str);
console.log(match[1].trim());
&#13;
&#13;
&#13;