$reg = "/@([^@\s]+)/"; //正则匹配,得到@的用户 $match = array(); preg_match_all($reg,$content,$match); //得到@用户数组
这段代码是PHP中用于正则表达式匹配的典型用法,具体功能是提取文本中所有@提及的用户名。以下是逐行解析:
正则表达式定义
$reg = "/@([^@\s]+)/";
@匹配字面符号@([^@\s]+)是捕获组,匹配:[^@\s]非@和非空白字符+至少出现一次示例:匹配
@user123中的user123匹配执行
preg_match_all($reg, $content, $match);
对
$content变量中的文本进行全局匹配结果存入
$match数组,结构为:典型应用场景
社交媒体@提及提取
用户评论中的标签处理
文本分析中的实体识别
注意事项
需确保
$content包含目标文本匹配结果需通过
$match[1]获取纯用户名正则表达式未处理连续@符号(如
@@test)的情况
[ 0 => ['@user1', '@user2'], // 完整匹配结果 1 => ['user1', 'user2'] // 第一个捕获组的内容 ]
如需进一步处理(如去重或数据库查询),可结合array_unique()或循环遍历$match[1]实现。