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

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

WBOY
Freigeben: 2016-06-13 13:14:34
Original
939 Leute haben es durchsucht

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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage