PHP,小弟我想用正则表达式得到数组(@中肖,@尖,@地s_3法,@在有)这四个数组元素,不包含@空格

WBOY
Release: 2016-06-13 13:14:34
Original
922 people have browsed it

PHP,我想用正则表达式得到数组(@中肖,@尖,@地s_3法,@在有)这四个数组元素,不包含@空格。
$str = '@中肖 @尖 困@地s_3法 @在有 @ ';
preg_match_all('/@+\s/', $str, $matchs);
想得到@与空格之间的xxx(可为中文与英文,下划线等符号)
我这样写是错了。求大侠帮手。谢谢了!

当然有其他方法可以得到数组(@中肖,@尖,@地s_3法,@在有)也行,求赐教!

------解决方案--------------------
$str = '@中肖 @尖 困@地s_3法 @在有 @ ';
preg_match_all("/@\S{1,}\s/", $str, $matchs);

\S (大写) 表示所有非空白字符, 后跟 {1,} 表示必须至少有一个匹配字节
------解决方案--------------------
我大意了,没有必要再在\S后跟一个\s,这样做反倒画蛇添足
------解决方案--------------------

PHP code
[liangdong@bb-browser-test00.vm.baidu.com php_project]$ php main.php 
Array
(
    [0] => @中肖 
    [1] => @尖 
    [2] => @地s_3法 
    [3] => @在有 
)
[liangdong@bb-browser-test00.vm.baidu.com php_project]$ cat main.php 
<?php $content = "@中肖 @尖 困@地s_3法 @在有 @ ";
$n_match = preg_match_all('/@.* /U', $content, $matches);
if ($n_match) {
        $res = array_filter($matches[0], function($item){return trim($item, "@ ");});
        print_r($res);
}
?> <div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!