匹配特定单词之前的电子邮件地址
Match an email address which is before a specific word
我有一个正则表达式来匹配javascript中的电子邮件地址。让我们看一个例子:
var email = "aaa@bbb.com (A,B); ccc@ddd.com (C,D); eee@fff.com (E,F);";
var emails = email.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+'.[a-zA-Z0-9._-]+)/gi);
这将返回我 var 电子邮件中的所有电子邮件。
现在,我有一个字符串:
var initials = "(A,B)";
我只想在首字母值之前收到电子邮件;
如果var首字母是"(A,B)",那么我只想获取 aaa@bbb.com 电子邮件地址。
非常感谢您的帮助!
JavaScript:
var input = "aaa@bbb.com (A,B); ccc@ddd.com (C,D); eee@fff.com (E,F);";
var initials = "(A,B)";
var email = input.match(new RegExp("([a-zA-Z0-9]+(?:[-._][a-zA-Z0-9]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*)(?=''s*" + initials.replace(/([()])/g, "''$1") + ")"))[0];
print(email);
输出:
aaa@bbb.com
在此处测试此代码。
无论你有这样的"example@mail.com(A,B)"还是像这样的"(A,B)example@mail.com",你所要做的就是拥有唯一捕获字母的第一部分和最后一部分。因此,应自动排除 (A,B) 以捕获正则表达式。
如果这不是问题所在,您可以随时获取正则表达式返回的文本并使用 replace 将 (A,B) 更改为空,如下所示:
var regexresult=str.replace("(A,B)","");
该代码将删除字符串(如果存在),否则它将不执行任何操作。
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 如何在实时网页中用mailto链接替换电子邮件地址
- 匹配Javascript中的几种不同的电子邮件地址格式
- 使用 Javascript 进行电子邮件地址验证在 ASP.net 中不起作用
- 使用不带正则表达式的jscript验证电子邮件地址
- ng变化不会'除非我输入了有效的电子邮件地址,否则我不会因为输入电子邮件而被解雇
- 使用JavaScript或JQuery验证电子邮件地址
- 如何防止电子邮件地址的css自动连字符
- 如何基于电子邮件地址域重定向到电子邮件登录页面
- 将多个电子邮件表单中的电子邮件发送到多个电子邮件地址
- 将回复电子邮件地址更改为队列's在动态crm 2011中的电子邮件地址
- 使用curl命令向sendgrid添加电子邮件地址
- 有没有办法检测电子邮件地址的假域名?使用Perl、php、javascript
- Regex用于有效和无效的电子邮件地址
- Regex Groups-选择电子邮件地址前的文本
- Angularjs, lexerr Lexer 错误:如何将电子邮件地址(regex)传递给函数
- 匹配特定单词之前的电子邮件地址
- 将数字和电子邮件地址之间的所有单词替换为小写字母,并用下划线分隔