解题思路:
题目考察的是正则表达式,有效的电话号码只有两种格式,这两种格式的只有前几位不一样,而后几位是一样的,因此,正则匹配可分为两部分
(1)匹配两种格式中各自的前几位,中间以或运算符,即|连接
(2)后几位是通用格式,可以直接匹配,不用各自考虑
grep -P '^(\(\d{3}\) |\d{3}-)\d{3}-\d{4}$' file.txt
说明:
^(\(\d{3}\) |\d{3}-):以“(三个数字)空格”或“三个数字-”作为开头
\d{3}-\d{4}$:以“三个数字-四个数字”作为结尾