如何编写PHP正则表达式匹配并拆分不同格式的联系人分组
PHP联系人信息拆分正则解决方案
适用正则
匹配所有符合要求的联系人分组可直接使用以下正则:/(?:^|, )\K(?:(?!, \+).)+/
PHP调用示例
// 待匹配字符串 $contactStr = '+35 00000000, info@company1.com, www.company1.com, +36 00000000, info@company2.com, www.company2.com'; // 执行全局匹配 preg_match_all('/(?:^|, )\K(?:(?!, \+).)+/', $contactStr, $result); // 输出匹配到的分组数组 print_r($result[0]);
规则说明
该正则完全适配提出的拆分规则和测试场景:
- 自动识别以
+开头的手机号作为分组分割边界,每个分组从开头/上一个分割点开始,到下一个手机号前缀, +之前结束 - 无手机号的字符串会整体作为一个分组返回
- 所有测试用例匹配结果和预期完全一致
内容的提问来源于stack exchange,提问作者meexo
相关产品推荐
相关产品推荐

