-1

次のようなコマンド ライン アプリケーションの出力を解析しています。

0644    1276317623781623132132      Crappy little message        filename.txt
0644    1276317623781623132132      Crappy little message        My File.txt
0644    1276317623781623132132      Crappy little message        Crazy FILE.txt

フィールドがタブで区切られている場合もあれば、スペースで区切られている場合もあります。フィールドを区切る正規表現を作成するにはどうすればよいですか? [\s]+ で preg_split を使用していましたが、これによりメッセージとファイル名が台無しになります。私はここでかなり迷っています。

4

1 に答える 1

1

解決策は、一致するより具体的な正規表現を作成することです。

たとえば、最後のものがタブであると仮定すると、次のようにヒットできます。

を使用して分割できます

preg_match('/^([0-9]{4}).*([0-9]{22})[\s]*([^\t]*)[\s]*(.*)$/', $string, $aMatches);

上記の例が変動する場合は、ニーズに合わせて変更できます。または、最後はタブではなく一連のスペースであり、必要な数のスペースなどを探します.

于 2012-05-31T07:18:57.660 に答える