ホームページ >バックエンド開発 >PHPチュートリアル >正規表現に関するアドバイスを引き続き求める

正規表現に関するアドバイスを引き続き求める

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:45:02920ブラウズ

引き続き正規表現に関するアドバイスを求めてください

<br />
$str = "昨天 @测试 hiaaaa dd@测试 反反复复";<br />
$reg = "/([^@]+(?=\s))/";<br />
$arr = preg_split($reg,$str,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );<br />
print_r($arr);<br />


結果は
です
Array ( [0] => 昨天 [1] => @ [2] => 测试 [3] => hiaaaa [4] => dd@ [5] => 测试 [6] => 反反复复 ) 


望ましい結果は
です
Array ( [0] => 昨天 @ [1] => 测试 [2] => hiaaaa dd@ [3] => 测试 [4] => 反反复复 ) 


正規表現の変更方法についてアドバイスをお願いできますか?

==============
実際、Weibo の @ 機能と同様の通常のルールを使用して @ 人を削除したいのですが、ルールは「@ は人の名前とスペースで始まる」です。これが当てはまらない場合、他に良い方法はありますか。実装しますか?

これを
と同様に使用すると、
$str = "昨天 @测试 hiaaaa dd@测试 反反复复@好友2";

このように、最後に友人に@をしたのですが、スペースがありません。通常のルールを使用して判断できますか?

正規表現
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。