@Ian-Alex ,
I’m not sure how the find regex you specified worked for you; it did not work for me…I see some obvious problems with it. The big thing is that some of the symbols you are searching for (brackets and braces) have special meaning to the regex engine, and if you want to search for them literally, they have to be “escaped”, that is, preceded with a backslash.
THIS MIGHT EXPLAIN IT: Perhaps when you posted here, you didn’t examine the preview window close enough; sometimes posting on this website gobbles up your intended characters–you have to use the escape/backslash technique here, too!
Regardless, this simplified find and replace pair worked for me on your sample data:
Find what: ^\[.+\]\R\{
Replace with: #$0
Some points to note:
\R is a shorthand line-ending notation, and will match \r\n on Windows
$0 in the replace is a shorthand notation for the entirety of what text matched in the find phase