Я пытался получить текст, начиная с css: {(некоторый текст ...)} только до конечной скобки, не включая тексты ниже в другом текстовом файле, используя php.
test.sample
just a sample text
css:{
"css/test.css",
"css/test2.css"
}
sample:text{
}
Я использую vscode / sublime инструмент поиска и замены для проверки моего синтаксиса регулярных выраженийи нет ничего плохого, я успешно получил нужный текст, включая все новые строки и пробелы внутри, но когда я попытался применить его к php, созданное мной регулярное выражение не работает, он не может найти текст, который я ищуfor.
вот мой код:
myphp.php
$file = file_get_contents("src/page/test.sample");
echo $file . "<br>";
if (preg_match_all("/(css\s*\n*:\s*\n*\{\s*\n*)+((.|\n\S)*|(.|\n\s)*)(\n*)(\}\W)$/", $file)) {
echo "Success";
} else {
echo "Failed!";
}
Это мое регулярное выражение, которое я только что создал.
(css \ s * \ n *: \ s * \ n * {\ s * \ n *) + ((. | \ N \ S) | (. | \ N \ s)) (\ n *) (} \ W) $
Пожалуйста, помогите мне, я открыт для любых предложений, я новичок в регулярных выражениях, мне не хватает знаний о логике этого.
спасибо.