Я пытаюсь сопоставить любую строку в файле, имеющую следующий шаблон: '/ (! C # [0-9] +) + /', что означает "! C #" плюс любое число. У меня есть строка «Это должно закрыться! C # 10», с которой я пытаюсь соответствовать. Регулярное выражение не совпадает. Я нахожусь на PHP 7.3.10
Онлайн-инструменты PCRE, кажется, говорят, что они должны совпадать. Однако когда я запускаю код на локальном сервере XAMPP, он не совпадает. Не работает fgets.
while (!feof($file)) {
$pattern = '/(!c#[0-9]+)+/';
$line = fgets($file);
preg_match_all($pattern, $line, $matches);
var_dump($matches);
}
В этом случае файл выглядит так:
This should close !c#10
Я ожидаю, что $ match будет содержать строку '! C # 10'
Возвращает "массив (2) {[0] => массив (0) {} [1] => массив (0) {}}"