# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/<a
\s+
((?:[^\s<>'"=]+(?:=(?:"[^"]*"|'[^']*'|[^\s'">]+))?\s+)*)
href=(?|"([^"]*\.(?:jpe?g|png))"|'([^']*\.(?:jpe?g|png))'|([^\s'">]*\.(?:jpe?g|png))(?=[>\s]))
((?:\s+[^\s<>'"=]+(?:=(?:"[^"]*"|'[^']*'|[^\s'">]+))?)*)
\s*>
(.*?)
<\/a>/<a $1$3 data-fancybox="gallery" href="$2"><img src="$2" alt="" class="tmp_class"><\/a>/gmisx;t' <<< "<p>С этой формы приходят заявки <a href=\"https://site.com/lack_tech.php\">https://site.com/lack_tech.php</a></p>
<p>Или что ты имеешь ввиду?</p>
<div class=\"attachment_files_message\">
<p>Прикреплённые файлы:</p>
<a href=\"http://site.com/public/uploads/kylticket/2670/Screenshot_1.png\" target=\"_blank\">Screenshot_1.png</a>
<a href=http://site.com/public/uploads/kylticket/2670/Screenshot_1.png target=\"_blank\">Screenshot_1.png</a>
<a
target=\"_blank\"
href=\"http://site.com/public/uploads/kylticket/2670/Screenshot_1.png\" >Screenshot_1.png</a>
</div>"
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 SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html