Features
- Capture groups
Dependencies
[dependencies]
regex = "1"
regexm = "0.1"
If you want to use Capture groups
feature, please use regexm = "0.2.0-beta"
.
Usage
fn main() {
let text1 = "2020-01-01";
regexm::regexm!(match text1 {
r"^\d{4}$" => println!("yyyy"),
r"^\d{4}-\d{2}$" => println!("yyyy-mm"),
// block
r"^\d{4}-\d{2}-\d{2}$" => {
let yyyy_mm_dd = "yyyy-mm-dd";
println!("{}", yyyy_mm_dd);
}
_ => println!("default"),
});
}
Output:
yyyy-mm-dd
fn main() {
let text2 = "foo";
let foo = regexm::regexm!(match text2 {
r"^\d{4}-\d{2}-\d{2}$" => "yyyy-mm-dd",
r"^\d{4}-\d{2}$" => "yyyy-mm",
// block
r"^\d{4}-\d{2}-\d{2}$" => {
let yyyy_mm_dd = "yyyy-mm-dd";
yyyy_mm_dd
}
_ => "default",
});
println!("{}", foo);
}
Output:
default
fn main() {
let text1 = "2020-01-02";
regexm::regexm!(match text1 {
// capture groups
captures(r"^(\d{4})-(\d{2})-(\d{2})$") => |caps| println!(
"year: {}, month: {}, day: {}",
caps.get(1).map_or("", |m| m.as_str()),
caps.get(2).map_or("", |m| m.as_str()),
caps.get(3).map_or("", |m| m.as_str())
),
_ => println!("default"),
});
}
Output:
2020
01
02