You can use ( and ) in raw string literals. You just have to specify the start/stop delimiter sequence so that you don't get a delimiter sequence preceded by a ) in the string. The null character is always appended. See cppreference string literal documentation for details.
In the following example, ### is the delimiter, but you can select whatever you want (except these characters are not allowed: () \, and the length must be 16 characters or fewer). Just select something that won't cause you to accidentally terminate the literal prematurely.
With ### as the delimiter, the compiler will continue consuming text as part of the raw string literal until it comes to the combination )###", so technically you could have )### in your text without terminating the raw string literal, but I think it's best to play it safe -- you could inadvertently terminate the literal prematurely if there happens to be a " immediately after that sequence. I'd also avoid the situation where you have the delimiter followed by ( in the body of the literal -- ###( in this example. It's allowed, but could confuse people reading the program.
So this could be
std::cout << R"###(^\s+Encryption key:(\w+)
^\s+Quality=(\d+)
^\s+E?SSID:"([[:print:]]+)"
^\s+ssid="([[:print:]]+)"
)###" ;
In a raw string literal, you don't escape characters, so \\ becomes \ and \" becomes " in your example, and \n become actual newlines.
"^\\s+Encryption key:(\\w+)\n^\\s+Quality=(\\d+)\n^\\s+E?SSID:\"([[:print:]]+)\"\n^\\s+ssid=\"([[:print:]]+)\"\n". It is a single raw string literal.