Javascript 正则表达式或

Javascript 正则表达式或,javascript,regex,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,其中收件人。我想为收件人或收件人电子邮件匹配它

我有一个字符串,它可以以两种不同的方式显示电子邮件地址

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

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

试试看

test.match(/Recipient( Email)?:\s(\w+@\w+.\w+)/);
这使“电子邮件”部分成为可选部分。

试试看

test.match(/Recipient( Email)?:\s(\w+@\w+.\w+)/);
这使“电子邮件”部分成为可选部分。

这:

( Email)?
将可选地匹配“电子邮件”(a?表示前面的项目0或1次),因此在中添加以下内容:

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

将可选地匹配“电子邮件”(a?表示前面的项目0或1次),因此在中添加以下内容:

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

我会把这个加到你的正则表达式里

(?: Email)?

非捕获组比这里提供的其他解决方案更明确一些

我将把它添加到您的正则表达式中

(?: Email)?
非捕获组比这里提供的其他解决方案更为明确