A single # should be enough for the raw string literal in this case, as the string literal does not contain any “"#” sequence. The double, triple, etc ###… sequences are only needed rarely. E.g. for something like println!(r##"hello "#{world}#""##);, printing “hello "#lovely world#"” , or if you want to put a rust programs containing raw strings into a raw string, e.g.
const S: &str = r###"fn main() {
let world = "lovely world";
println!(r##"hello "#{world}#""##);
}"###;
fn main() {
println!("{S}");
}
printing
fn main() {
let world = "lovely world";
println!(r##"hello "#{world}#""##);
}