Wie kann ich Rust interpretieren eine Texteingabe als eine rohe literale Zeichenfolge? Ich versuche, eine Regex
Suchfunktion zu machen, wo ich eine reguläre Ausdruck Eingabe nehmen und es verwendet, durch einen Text suchen:Wie wird die Eingabe als rohe Zeichenfolge in Rust festgelegt?
...
fn main() {
// Initiate file to search through
let text_path = Path::new("test.txt");
let mut text_file = File::open(text_path).unwrap();
let mut text = String::new();
text_file.read_to_string(&mut text);
// Search keyword
let mut search_keyword = String::new();
// Display filename and ask user for Regex
print!("Search (regex) in file[{path}]: ", path=text_path.display());
io::stdout().flush().ok();
// Get search keyword
io::stdin().read_line(&mut search_keyword).unwrap();
println!("You are searching: {:?}", search_keyword);
let search = to_regex(&search_keyword.trim()).is_match(&text);
println!("Contains search term: {:?}", search);
}
fn to_regex(keyword: &str) -> Regex {
Regex::new(keyword).unwrap()
}
Rust automatisch entkommt den Eingang, so dass ich es nicht für Regex
verwenden kann. Ich weiß, dass Sie dies für eine Zeichenfolge tun können:
Aber wie kann ich das mit einer Variablen verwenden?
Vielleicht versuchen, 'r #" somestring "#' ... –