Вам нужно передать значение соответствия методу обратного вызова или использовать его как
DATETIME
В =?вашем исходном решении передается =как буквальная $1строка и, следовательно, не работает должным образом. Эти замены обратной ссылки могут использоваться только в шаблонах замены строк, но не могут использоваться, когда совпадение требует дальнейших манипуляций.
Обратите внимание, что я слегка изменил шаблон, чтобы он соответствовал:
([^$]*)-$символDATETIME- буквальная подстрока$- 1 или 0=символов$- Группа 1 (значение, полученное здесь, будет использовано для генерации строки datetime): любые символы 0+, кроме$(если в одной строке больше 1 совпадения, она все равно будет работать и будет соответствовать быстрее, чем жадный ( или даже ленивый) точечный рисунок)$-$символ