1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
extern crate regex;
use regex::Regex;
#[allow(unused_must_use)]
pub fn search(content: &str, pattern: &str, mut writer: impl std::io::Write) {
let regex = Regex::new(&pattern).unwrap();
for line in content.lines() {
if regex.is_match(line) {
writeln!(writer, "{}", line);
}
}
}
#[allow(unused_must_use)]
pub fn search_case_insensitive(content: &str, pattern: &str, mut writer: impl std::io::Write) {
let regex = Regex::new(&pattern.to_lowercase()).unwrap();
for line in content.lines() {
if regex.is_match(line) {
writeln!(writer, "{}", line);
}
}
}