28

私は(ファイルから)文字列を持っています:

ILX (New for 2013!)

Overview: The least expensive route to Honda's premium-label goodness

Drivetrain: Two four-cylinder engines to choose from as well as a gas-electric hybrid; front-wheel-drive only.

文字列を取得する方法:

$writeup = file_get_contents($car_files_path . $manufacture . '/Stories/'.$story);

概要行 ( Overview: The least expensive route to Honda's premium-label goodness). これを達成するための最良の方法は何ですか.

私は .*\n を試しましたが、それはすべてに一致し、次に新しい行に一致します。正規表現を非貪欲にする方法はありますか?

私は試しました: preg_match('/^Overview:\s.*$/im', $writeup, $overall_matches)そして、一致するものはありません

4

1 に答える 1

46

量指定子の後に追加?して、貪欲にします。この場合、正規表現は.*?\n.

「Overview:」で始まる行を具体的に一致させるには、次の正規表現を使用します。

/^Overview:\s.*$/im

m修飾子を使用する^と、$検索文字列全体ではなく、行の開始と終了を一致させることができます。.修飾子を使用しない限り改行に一致しないため、貪欲にしない必要はないことに注意してくださいs。実際、ここで貪欲にしないとパフォーマンスが低下します。

于 2013-02-19T21:13:44.477 に答える