Regex搜索mongo数据库中的电子邮件


Regex to search mongo database for emails

我不太擅长正则表达式,但我需要一个正则表达式来在php中搜索字符串中的电子邮件:

[to]=>'jfields@example.com, lknight@example.com, sbeltran@example.com, ltran@example.com'

我的具体问题是,我无法找到一个表达式来专门查找ltran@example.com而不是sbeltran@example.com
我用了类似['$regex'] = new MongoRegex("/('W)(".$email.")/");的东西,但它找不到jfields@example.com,因为它前面没有空间。任何帮助都将不胜感激。

使用单词boundary。

$email_quoted = preg_quote($email, '#');
$regex = "#'b$email_quoted'b#";

有三种不同的位置可以作为单词边界:

  1. 如果第一个字符是单词字符,则在字符串的第一个字符之前
  2. 在字符串中的最后一个字符之后,如果最后一个字符串是单词字符
  3. 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符