Я хотел бы получить номера телефонов из файла. Я знаю, что числа имеют разные формы, я могу обрабатывать один, но не знаю, как получить равномерное регулярное выражение. Например
-
xxx-xxx-xxxx
-
(xxx)xxx-xxxx
-
xxx xxx xxxx
-
xxxxxxxxxx
Я могу обрабатывать только 1, 2 и 4 вместе
grep '[0-9]\{3\}[ -]\?[0-9]\{3\}[ -]\?[0-9]\{4\}' file
Есть ли какое-либо одно регулярное выражение для обработки всех этих четырех форм?