Was bedeutet der Operator r#""# in Rust und wie verwendet man rohe String-Literale?
Hallo! Ich habe vor kurzem angefangen, Rust zu lernen, und bin in fremdem Code auf eine unverständliche Konstruktion gestoßen. Da stand so etwas wie:\n\n```rust\nlet pattern = r#"^\\d+\\.\\d+\\.\\d+\\.\\d+$"#;\nlet json = r#"{"name": "John", "age": 30}"#;\n```\n\nIch sehe, dass vor dem String der Buchstabe `r` steht, gefolgt von den Zeichen `#"` und `"#`. Was bedeutet das überhaupt? Ich weiß, dass String-Literale in Rust mit doppelten Anführungszeichen `"..."` gekennzeichnet werden und das Zeichen `\\` zum Escapen verwendet wird. Aber hier gibt es eine Art Magie mit `#`.\n\nBesonders verwirrt mich, dass innerhalb dieses Strings normale doppelte Anführungszeichen vorkommen. In einem normalen String müsste ich `\\"` zum Escapen schreiben, aber hier stehen die Anführungszeichen einfach so. Und diese Rauten `#` an den Rändern – wozu sind sie nötig? Kann man auf sie verzichten?\n\nIch habe versucht, einfach `r"..."` zu schreiben, aber der Compiler meckert.