Функция escape
Функция escape принимает строку и возвращает новую строку,
в которой все символы, имеющие специальное значение в регулярных
выражениях, экранированы обратным слешем. Это позволяет безопасно
использовать произвольный текст в качестве шаблона регулярного
выражения. Параметром функция принимает строку, которую нужно
экранировать.
Функция возвращает значение типа String с экранированной
строкой.
Синтаксис
regex::escape(text)
Пример
Давайте экранируем строку "abcde", в которой нет
специальных символов:
fn main()
{
let res = regex::escape("abcde");
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте экранируем строку "1+2", которая содержит
специальный символ +:
fn main()
{
let res = regex::escape("1+2");
println!("{}", res);
}
Результат выполнения кода:
"1\\+2"
Пример
Давайте экранируем строку "abc.de", которая содержит
специальный символ ., и затем используем результат
в качестве шаблона регулярного выражения:
fn main()
{
let escaped = regex::escape("abc.de");
println!("{}", escaped);
let re = regex::Regex::new(&escaped).unwrap();
let res = re.is_match("abc.de");
println!("{}", res);
}
Результат выполнения кода:
"abc\\.de"
true