继续求教正则表达式问题

WBOY
풀어 주다: 2016-06-23 14:10:13
원래의
860명이 탐색했습니다.

$str = "昨天 @测试 hiaaaa dd@测试 反反复复";$reg = "/([^@]+(?=\s))/";$arr = preg_split($reg,$str,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );print_r($arr);
로그인 후 복사


结果是
Array ( [0] => 昨天 [1] => @ [2] => 测试 [3] => hiaaaa [4] => dd@ [5] => 测试 [6] => 反反复复 ) 
로그인 후 복사


想要的结果是

Array ( [0] => 昨天 @ [1] => 测试 [2] => hiaaaa dd@ [3] => 测试 [4] => 反反复复 ) 
로그인 후 복사


求教该如何修改正则?

==============
其实就是想把类似于微博里边@功能用正则来拆出@的人,规则是"@开头+人名+空格"不如此的话 有没有其他更好的实现方法?

如果用这个 类似于
$str = "昨天 @测试 hiaaaa dd@测试 反反复复@好友2";
로그인 후 복사

这样在末尾@了好友,但是没有空格能否用正则判断?


回复讨论(解决方案)

$str = "昨天 @测试 hiaaaa dd@测试 反反复复@好友2";$reg = "/(@\S+)/";$arr = preg_split($reg,$str,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );print_r($arr);
로그인 후 복사
Array
(
    [0] => 昨天 
    [1] => @测试
    [2] =>  hiaaaa dd
    [3] => @测试
    [4] =>  反反复复
    [5] => @好友2
)

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿