// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r"(?im)'\$([\d]*)[\.]?(\d+)'").unwrap();
let string = "#Test-2019-8
#1.'do+g'
dog, doooog, abcdogef,
asdooooijk dooog asdoogghj
'dog', 'doooog', 'abcdogef'
#2. 'ab*d'
ad, abd, abbbd
'ad', 'abd', 'abbbbd'
'sad', 'cabd', 'abbbds'
#3. '[xy]{2}AB'
'xxAB', 'xyAB','yyAB' '2xxAB'
#4. '[a-z].?'
'aA', 'b9', 'z' 'bX'
'aB z8 b6'
#5. '5[abc]?ef'
'5aef', 'a5bef', '5ef' '5ef'
#6. Taiwan ID : '([A-Z])([12])(\\d{8})','[A-Z][12]\\d{8}'
'A102926987', 'B212345678'
#7. mobile tel_num:'(09)(\\d\\d)[-\\s](\\d{3})[-\\s](\\d{3})'
'0988 123 456', '0978-456-789'
# : '09\\d\\d[-\\s]\\d\\d\\d'
'0924-357'
#8. Home tel_num:
# '([\\(]?\\d\\d[\\)-]?)([\\d]{4})([-\\s]{1}[\\d]{4})'
'(02)2257 3150', '02-2250-3457','(12)2245 3214'
# '[\\(]?(0[23])[\\)-]?(\\d{4})'
'(02)2345', '03-1348'
#9. Date Time:yyyy/mm/dd
#'(20[12]\\d)[-\\/]([1]?[\\d])[-\\/]([1-3][\\d])'
'2019/1/25', '2018-12-31'
#'(20[12]\\d)[-\\/]([01]\\d)[-\\/](\\d{2})'
'2019/01/15' ,'2020-11-28'
#10. floating number: '\\$([\\d]*)[\\.]?(\\d+)'
'$123.34', '$2345' '$0.234' ,'1.87'
";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Rust, please visit: https://docs.rs/regex/latest/regex/