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,这样做反倒画蛇添足
------解决方案--------------------
[liangdong@bb-browser-test00.vm.baidu.com <a style="color:#f60; text-decoration:underline;" title="php" href="https://www.php.cn/zt/15714.html" target="_blank">php</a>_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>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号