我不太擅长正则表达式,但我需要一个正则表达式来在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#";
有三种不同的位置可以作为单词边界:
- 如果第一个字符是单词字符,则在字符串的第一个字符之前
- 在字符串中的最后一个字符之后,如果最后一个字符串是单词字符
- 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符