与えられた文字(この場合はドット)が2つの機能を果たすコマンドパーサ入力を持っているとしましょう:文字列を他のコマンドに分割し、最後のコマンド。例えばリピートパターンの文字列を保持区切り文字で区切る
:
go north.pick up item.go west...go north..
これが何を達成すること「北に行くアイテムを拾う、西の三回行き、二回北上」です。しかし、preg_split
を使用すると、単に目的の出力を得ることができません。
今まで私が持っているすべては、次のとおりです。
得$temp = 'go north.pick up item.go west...go north..';
preg_split('/\.)/', $temp);
:
アレイ
(
[0] => [1] =>ピックアップ北
行きます項目
[2] =>西に行く
[3] =>
[4] =>
[5] =>)[6] =>
[7] =>
北
行く
これは、2つのインスタンスで、明らかに間違っている - 最後に返されていない点や、余分なコマンド。パーサーが最後のコマンドを繰り返し実行してもらうためには、ドットを返す必要があります。
PREG_SPLIT_DELIM_CAPTURE
を使用すると、正規表現として(\.)
を使用していますが、これ以上のメリットはありません。