ホームページ > バックエンド開発 > PHPチュートリアル > preg_split()についてですが、正規表現に一致する文字列で分割した文字列を取得しながら、正規表現に一致する文字列そのものを取得することは可能でしょうか?

preg_split()についてですが、正規表現に一致する文字列で分割した文字列を取得しながら、正規表現に一致する文字列そのものを取得することは可能でしょうか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:09:16
オリジナル
913 人が閲覧しました

タイトル通り

例:

$reg = "([^@]+(?=\s))";print_r(preg_split($reg,"@张三 你好我是@李四 的朋友@王五不在家",PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_OFFSET_CAPTURE|PREG_SPLIT_NO_EMPTY));
ログイン後にコピー


結果
Array(    [0] => @    [1] =>  你好我是@    [2] =>  的朋友@王五不在家)
ログイン後にコピー


私が取得したいのは
Array(    [0] => @    [1] => 张三    [2] =>  你好我是@    [3] => 李四    [4] =>  的朋友@王五不在家)
ログイン後にコピー
です

マニュアルを確認してパラメータがあることを確認してください PREG_SPLIT_DELIM_CAPTURE: このフラグが設定されている場合、ブラケット式分離に使用されるパターンはキャプチャとリターンになります。
でも返されませんでした....


ディスカッションに返信(解決策)

パラメータの位置が間違っています

$reg = "/([^@]+(?=\s))/";print_r(preg_split($reg,"@张三 你好我是@李四 的朋友@王五不在家", -1, PREG_SPLIT_DELIM_CAPTURE |PREG_SPLIT_NO_EMPTY));
ログイン後にコピー
Array
(
[0] => @
[1] => Zhang San
[2 ] => こんにちは、@
[3] =>李四
[4] => 私の友人@王五は家にいません
)

とても残念です~~~~ ~~~~??

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート