1

我有一个字符串可以有两种不同的电子邮件地址

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。我想为收件人或收件人电子邮件匹配它。

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

4

3 回答 3

4

我会将其添加到您的正则表达式中

(?: Email)?

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

于 2013-01-14T23:58:40.303 回答
1

尝试

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

这使得“电子邮件”部分是可选的。

于 2013-01-14T23:57:09.567 回答
0

这个:

( Email)?

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

test.match(/Recipient( Email)?:\s(\w+@\w+.\w+)/);
于 2013-01-14T23:57:21.643 回答