$re = '/^(?<![\s\S\r])(---\ntitle:\s)([1-9a-zA-ZÀ-ŰØ-űø-ÿ].*)([\d\D]*---\n\n#\s[1-9a-zA-ZÀ-ŰØ-űø-ÿ].*)/m';
$str = '---
title: Title can be anything
aliases:
- somealias
tags:
- sometag
topic: sometopic
anotheryamlKey: whatever
date created: 2022-12-14
date modified: 2023-10-06
---
# Title can be anything
First line of file.
Second line. ';
$subst = "$1$2$3\n\n%%\n```query\nfile: \"$2.md\" /\\[\\[(?!.*\\|)([^[\\]]+#[^\\]]+)\\]\\]/\n```\n%%";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php