193. Valid Phone Numbers

Valid Phone Numbers

Valid Phone Numbers

Problem Description

Given a text file file.txt that contains a list of phone numbers (one per line), write a one-liner bash script to print all valid phone numbers.

You may assume that a valid phone number must appear in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit)

You may also assume each line in the text file must not contain leading or trailing white spaces.

Example:

Assume that file.txt has the following content:

987-123-4567
123 456 7890
(123) 456-7890

Your script should output the following valid phone numbers:

987-123-4567
(123) 456-7890


Solution

grep -E '(^[0-9]{3}-|^\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$' file.txt


Idea:

The construction is as follows

  • ^: indicates the starting of the string
  • |: or
  • $: indicates the end of the string
  • [0-9]{3} : represent 3 numbers ({3}) between the range 0-9 ([0-9] a digit in the range)
  • : suppresses the specialness of the character
  • -E: to include multiple regex


Conclusion

That’s all folks! In this post, we solved LeetCode problem #193. Valid Phone Numbers

I hope you have enjoyed this post. Feel free to share your thoughts on this.

You can find the complete source code on my GitHub repository. If you like what you learn. feel free to fork 🔪 and star ⭐ it.


In this blog, I have tried to solve leetcode questions & present the most important points to consider when improving Data structure and logic,  feel free to add, edit, comment, or ask. For more information please reach me here
Happy coding!

Comments

Popular Post