正则表达式或/或

时间:2013-01-14 23:55:36

标签: javascript regex

我有一个可以通过两种不同方式使用电子邮件地址的字符串

way 1: str = " text text. Recipient: test@test.com";
way 2: str = " text text. Recipient Email: test@test.com";

在javascript中我使用以下内容查看是否有电子邮件地址

test.match(/Recipient:\s(\w+@\w+.\w+)/);

但这仅适用于其收件人的方式1。我希望将其与收件人或收件人电子邮件匹配。

我如何修改上述内容以支持这两个条款? 感谢

3 个答案:

答案 0 :(得分:4)

我将此添加到您的正则表达式

(?: Email)?

非捕获组比此处提供的其他解决方案更明确

答案 1 :(得分:1)

尝试

test.match(/Recipient( Email)?:\s(\w+@\w+.\w+)/);

这使“电子邮件”部分成为可选项。

答案 2 :(得分:0)

此:

( Email)?

可选择匹配“电子邮件”,(a?表示前面的项目0或1次),所以我们要添加:

test.match(/Recipient( Email)?:\s(\w+@\w+.\w+)/);