<div\s+id="comments".+?</div>\s+</div>
Если анкоров произвольное количество. Проверялось на Notepad++ 7.9.3
(?-s)(.*?>)\(?(.*?)\||\)</a>\R?
$1$2</a>\n$1
RewriteRule ^(.+)/\d+(-\d+)+$ /$1/ [R=301,L]
1. Хоть и на спичках, но экономия.
Ну если экономить, то из шаблона ^(?>.*)$ можно всё выкинуть и оставить только ^
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
По поводу %{SERVER_NAME} в документации сказано, что подставляться имя хоста из запроса будет если в настройках отключить UseCanonicalName.
UseCanonicalName Off
https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewritecond
SERVER_NAME and SERVER_PORT depend on the values of UseCanonicalName and UseCanonicalPhysicalPort respectively.
Что Apache пишет в error.log
redirect 301 "/Alan Walker.html" https://domain.xyz/redirect 301 "/Eva O'Braun.html" https://domain.xyz/
Результат выполнения смотрите в браузере? Ну так символ "<" и следующий за ним текст браузер интерпретирует как HTML тег <tag>.
Загляните в исходный код страницы.