У меня есть строка (из файла):
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)
и я не получаю никаких совпадений
Добавить ?
после квантификатора, чтобы сделать его неровным. В этом случае ваше регулярное выражение будет .*?\n
Чтобы точно соответствовать строке, начинающейся с «Обзор:», используйте это регулярное выражение:
/^Overview:\s.*$/im
Модификатор m
позволяет ^
и $
соответствовать началу и концу строк вместо всей строки поиска. Обратите внимание, что с тех пор нет необходимости делать его неотразимым .
не соответствует символам новой строки, если вы не используете модификатор s
– на самом деле, делая его нескромным, здесь было бы плохо для производительности.