0

私は正しい正規表現を書いたことに少し問題があります、私は文字列を持っています

2013-01-11 17:38:02.137759 some text leater

また

11 Jan 17:38:02 some text leater

だから私は正規表現を書いた

(?:(?:(?:\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s(?:[^\s]+)\s(?:.\d+.)?\s?))?((?:(\d{4}-\d{2}-\d{2})\s\d{2}:\d{2}:\d{2}(?:\.\d+)?)|(?:(\w{3}\s+\d+)\s\d{2}:\d{2}:\d{2})) 

結果の例は次のとおりです。

Array
(
    [0] => Array
        (
            [0] => Jan 11 17:38:02
        )

    [1] => Array
        (
            [0] => Jan 11 17:38:02
        )

    [2] => Array
        (
            [0] => 
        )

    [3] => Array
        (
            [0] => Jan 11
        )

)

また

Array
(
    [0] => Array
        (
            [0] => 2013-01-11 17:38:02.137759
        )

    [1] => Array
        (
            [0] => 2013-01-11 17:38:02.137759
        )

    [2] => Array
        (
            [0] => 2013-01-11
        )

    [3] => Array
        (
            [0] => 
        )

)

問題は結果です。空のフィールド結果をスキップしたいのですが、どうすればそれを行うことができますか?

手伝ってくれてありがとう

4

1 に答える 1

1

最も簡単な方法は、結果に対して使用array_filterすることです。

array_filter($array, function ($piece) { return array_filter($piece); });
于 2013-02-07T18:10:01.790 に答える