From 80926e99ab1e4b122b53104a0d327c5ee03081f8 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Tue, 5 May 2020 21:28:39 +0800 Subject: [PATCH] add regex --- regex/src/main.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/regex/src/main.rs b/regex/src/main.rs index a6810ab..87cfc22 100644 --- a/regex/src/main.rs +++ b/regex/src/main.rs @@ -7,6 +7,8 @@ On 2010-03-14, foo happened. On 2014-10-14, bar happened. fn main() { let re = Regex::new(r"(\d{4})-(\d{2})-(\d{2})").unwrap(); + // year: 2010, month: 03, day: 14 + // year: 2014, month: 10, day: 14 for caps in re.captures_iter(TO_SEARCH) { println!("year: {}, month: {}, day: {}", caps.get(1).unwrap().as_str(), @@ -24,4 +26,15 @@ fn main() { let re3 = Regex::new(r"(?P\d+)").unwrap(); println!("{}", re3.replace_all("Hello 100, 200", "<$x>")); + + let e = "name@example.com"; + let re_e = Regex::new(r"^(\w+)@((\w+)*\.com)$").unwrap(); + // name -> name + // domain -> example.com + // domain -> example + for cap in re_e.captures_iter(e) { + println!("name -> {}", cap.get(1).unwrap().as_str()); + println!("domain -> {}", cap.get(2).unwrap().as_str()); + println!("domain -> {}", cap.get(3).unwrap().as_str()); + } }