如何将字符串切片插入原始字符串?

How to insert a string slice into a raw string?

每当提供类型为 &str 的 a_new_phone_number 时,我想以某种方式将其插入到原始字符串中,以便进一步输入到 Regex::new() 中。是否有类似于 format!() 的宏?

phone_number = Regex::new(r"(?xm)^.*{a_new_phone_number}.*$ ").unwrap();

您可以为此使用 format!()

use regex::Regex;

fn main() {
    let a_new_phone_number = "111-222-3333";
    let phone_number = Regex::new(&format!(r"(?m)^.? {}.?$ ", a_new_phone_number)).unwrap();
}

请记住,如果正则表达式本身有 {} 个字符,请参阅 for how to avoid problems. And if the user-provided string is not validated (or even if it is), it should probably be escaped as in