use regex::Regex;
fn main() {
let phone_numbers = [
"333-555-1234",
"(333)-555-1234",
"333 555 1234",
"333.555.1234",
"+91 (333) 555-1234",
];
let pattern = r"^(\+\d{1,2}\s?)?((\(\d{3}\)|\d{3})[\s.-]?\d{3}[\s.-]?\d{4})$";
let re = Regex::new(pattern).unwrap();
for &phone_number in &phone_numbers {
if re.is_match(phone_number) {
println!("Valid phone number format: {}", phone_number);
} else {
println!("Invalid phone number format: {}", phone_number);
}
}
}
/*
run:
Valid phone number format: 333-555-1234
Valid phone number format: (333)-555-1234
Valid phone number format: 333 555 1234
Valid phone number format: 333.555.1234
Valid phone number format: +91 (333) 555-1234
*/