3

皆さんが正規表現の達人であることは知っていますが、php preg_match_all を使用して正規表現パターンに苦労しています。

$var = "1        CARRYL               CLOYDE          GLADWIN         93 SOESDYKE LINDEN        FARMER             129790657
        1        fdfdfd               CLOYDE          GLADWIN         93 SOESDYKE LINDEN        FARMER             129790657
        1        dfdfdf               CLOYDE          GLADWIN         93 SOESDYKE LINDEN        FARMER             129790657
        1        gfgfgg               CLOYDE          dfdfdfd         93 SOESDYKE LINDEN        FARMER             129790657
";

$regex = "#(\d+) [A-Z]+  [A-Z]+  [A-Z]+ [0-9-A-Z]+  [A-Z]+ (\d+)#";
preg_match_all($regex,$var,$array);

print_r($array);
?>

このスクリプトを実行すると、これが得られる結果です。

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

私が探している結果は以下のとおりです。残念ながら、私の表現に何か欠けていると思います。助けてください。

Array
(
    [0] => Array
        (
            [0] => 1        CARRYL               CLOYDE          GLADWIN         93 SOESDYKE LINDEN        FARMER              129790657
            [1] => 1        fdfdfd               CLOYDE          GLADWIN          93 SOESDYKE LINDEN        FARMER             129790657
            [2] => 1        dfdfdf               CLOYDE          GLADWIN          93 SOESDYKE LINDEN        FARMER             129790657
            [2] => 1        gfgfgg               CLOYDE          GLADWIN          93 SOESDYKE LINDEN        FARMER             129790657

        )

)

$var で定義されているような完全なリストを含むドキュメントがあります。正規表現パターンでドキュメントをスキャンしてこのデータを探したいのですが、非常に困難です。時間と労力をかけていただきありがとうございます。

4

1 に答える 1

2

m複数行およびi大文字と小文字を区別しない場合。

$regex = "#\d+\s+[A-Z]+\s+[A-Z]+\s+[A-Z]+\s+\d+\s[A-Z]+\s[A-Z]+\s+[A-Z]+\s+\d+#mi";

preg_match_all($regex, $var, $array);

print_r($array);
于 2013-01-02T02:43:45.950 に答える