Don't want to talk whether it's a good idea to have such a string hardcoded in your code.
Just to answer your question:
There is a defined list of literals that need to be escaped when you want to use it inside a string in your code. The brackets and also the semicolon is not part of that list, so you can safely use them without any modifications.
When you want to use the doublequote character, you have to escape it with the backslash. So it becomes like
var helloWorld = "This is \"my\" world";
More about all characters that need to be escaped can be found here for example: Can I convert a C# string value to an escaped string literal
Another option could be the use of the verbatim identifier @.
Read more about that here
That can be useful if you have strings with the backslash inside, for example when dealing with paths.
var myPath1 = "C:\\Windows\\System32";
var myPath2 = @"C:\Windows\System32";
With the @ there is no need to escape the backslash. But then the doublequote character still needs escapement, but this time just by writing it twice:
var helloWorld = @"This is ""my"" world";
You can decide what fits best to your coding style and your actual requirements.
var myString1 = "<img src=\"${matches[1]}\" style=\"height: auto; width: 100%; max-width: 100%;\">";
or
var myString2 = @"<img src=""${matches[1]}"" style=""height: auto; width: 100%; max-width: 100%;"">";