Bash 有效电话号码

193 有效电话号码

给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个单行 bash 脚本输出所有有效的电话号码。

你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)

你也可以假设每行前后没有多余的空格字符。

示例:

假设 file.txt 内容如下:

987-123-4567
123 456 7890
(123) 456-7890
你的脚本应当输出下列有效的电话号码:

987-123-4567
(123) 456-7890

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/valid-phone-numbers

解决方案:

提供思路

很奇怪的题目,目前没碰到过,不过先给出结果。

上代码:

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

以上是碰到的第一百九十三题,后续持续更新。感觉对你有帮助的小伙伴可以帮忙点个赞噢!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/37547.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通识强化学习,初步了解强化学习的运行规则和估值方法

1.强化学习的发展及应用现状 1.1.强化学习的由来 目前,大家认为强化学习(Reinforcement Learning, RL)的来源与两个领域密切相关:即心理学的动物试错学习和最优控制的优化理论。 这里都是有相应的共性的,在environme…

HCIP第七天

题目 拓扑图 1.所有路由器各自创建一个环回接口,合理规划IP地址 测试 2. R1-R2-R3-R4-R6之间使用OSPF协议,R4-R5-R6之间使用RIP协议 3. R1环回重发布方式引入OSPF网络 4. R4/R6上进行双点双向重发布 将OSPF中的环回接口改成broadcast 因为华为默认环回接…

阿里云AliYun物联网平台使用-客户端API获取设备传感数据

一、前言 上一篇文章中,已经实现了虚拟数据上云,本文我们将进行上位机客户端的开发,即通过调用阿里云IOT物联网云平台的SDK,开发能获取传感器的遥感数据。 二、云平台操作 调用API需要用户的AccessKey Secret,这意味着…

KaiwuDB CTO 魏可伟:多模架构 —“化繁为简”加速器

以下为浪潮 KaiwuDB CTO 魏可伟受邀于7月4日在京举行的可信数据库发展大会发表演讲的实录,欢迎大家点赞、收藏、关注! 打造多模引擎,AIoT数据库探索之路 01 何为“繁”? 工业 4.0 时代, 物联网产业驱动数据要素市场不…

国产芯片——单片机32位mcu的应用

随着物联网与人工智能和智能制造的发展,单片机作为嵌入式系统的核心控制器,在各类行业应用中占据重要位置。其中32位MCU在芯片设计、制造工艺、封装技术上等取得显著突破,以高性能的技术条件被广泛应用在智能物联等行业的方案开发中。今天我们…

windows安装mysql8.0.23版本成功示例-免安装

windows安装mysql8.0.23版本成功示例 一.通过mysql-installer-*.msi安装包的方式1.安装准备1.1 官网下载地址1.2 选择合适的版本点击下载 2.安装mysql 二.通过mysql-8.0.23-winx64.zip压缩包免安装方式1.安装准备1.1 下载官网压缩包1.2 解压后配置文件my.ini信息1.3 配置my.ini…

java ajax

1.ajax定义:异步刷新技术 2.ajax语法 3.ajax实战 在不需要点击刷新按钮时达到局部刷新显示,如下图所示 步骤一:创建工程/包/js 步骤二:数据库/表创建 步骤三:实体类 步骤四:UserDao package cn.kgc.dao;import cn…

Linux下JDK版本与安装版本不一致问题

目录 一. 🦁 前言二. 🦁 操作流程三. 🦁 总结四. 🦁 Happy Ending 一. 🦁 前言 最近重新安装了centos7.9,针对以前遇到的Java版本不一致的情况, 提出了另一种方法,该方法简单易行,容易理解。 二. 🦁 操作…

银行安全用电监管平台可行性研究及解决方案

2017年4月26日,国务院安全生产委员会印发《国务院安全生产委员会关于开展电气火灾综合治理工作的通知》(安委〔2017〕4号),强调用三年时间综合治理电气火灾工作,提高社会单位发现和处置消防电气安全隐患能力&#xff0…

vue2 element-ui el-cascader地址省市区分开单独写

使用 npm 或 yarn 安装 element-china-area-data 包&#xff1a; npm install element-china-area-data 在你的代码中导入 element-china-area-data import { regionData } from element-china-area-data let that; 完整代码 <template><div><el-form ref&quo…

【http-server】http-server的安装、前端使用http-server启动本地dist文件服务:

文章目录 一、http-server 简介:二、安装node.js:[https://nodejs.org/en](https://nodejs.org/en)三、安装http-server:[https://www.npmjs.com/package/http-server](https://www.npmjs.com/package/http-server)四、开启服务&#xff1a;五、http-server参数&#xff1a;【1…

Redis 优惠卷秒杀(二) 异步秒杀、基于Stream的消息队列处理

目录 基于Stream的消息队列 Redis优化秒杀 登录头 改进秒杀业务&#xff0c;调高并发性能 Redis消息队列实现异步秒杀 ​编辑基于List结构模拟消息队列 基于PuSub的消息队列 ​编辑 基于Stream的消息队列 Redis消息队列 基于Stream的消息队列 Redis优化秒杀 登录头 改…

LeetCode 142.环形链表II

142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *detectCycle(ListNode …

【微信小程序创作之路】- 小程序窗口整体配置(导航栏、标题)

【微信小程序创作之路】- 小程序窗口导航栏配置 第五章 微信小程序窗口导航栏配置 文章目录 【微信小程序创作之路】- 小程序窗口导航栏配置前言一、入口文件的配置二、页面配置三、全局默认窗口配置1.navigationBarTitleText&#xff1a;导航栏标题文字2.navigationBarBackgr…

【UE4 C++】02-编译、生成当前的C++程序

一、编译 编译快捷键&#xff1a; CtrlF7 如果不使用快捷键&#xff0c;可以点击顶部菜单栏中的下拉按钮&#xff0c;然后选择自定义 点击添加命令 点击“生成”&#xff0c;选择编译“”&#xff0c;点击“确定” 此时可以看到顶部菜单栏多了一个用于编译的按钮 二、生成 鼠…

TypeScript学习笔记

TypeScript学习笔记 1、运行环境 1.1、初始化 npm init -y npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader html-webpack-plugin1.2、webpack.config.js const path require(path) const htmlWebpackPlugin require("html-webpack-plugin&…

Todo-List案例版本五

安装库npm i pubsub-js 消息的订阅与发布 src/App.vue <template><div class"app"><h1>{{ msg }}</h1><School/><Student/></div> </template><script> import Student from ./components/Student import …

【unity之IMGUI实践】单例模式管理数据存储【二】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

安卓UI:SearchView

目录 一、SearchView介绍 二、常用方法 &#xff08;一&#xff09;、监听器&#xff1a; (二)、常用方法&#xff1a; (三)、其他常用方法 三、例子&#xff1a; MainActivity2 &#xff1a; ChatListAdapter &#xff1a; item_people_view: activity_main2: 运行结果…

Java支付SDK接口远程调试 - 支付宝沙箱环境【公网地址调试】

文章目录 1.测试环境2.本地配置3. 内网穿透3.1 下载安装cpolar内网穿透3.2 创建隧道 4. 测试公网访问5. 配置固定二级子域名5.1 保留一个二级子域名5.2 配置二级子域名 6. 使用固定二级子域名进行访问 转载自cpolar极点云文章&#xff1a;Java支付宝沙箱环境支付&#xff0c;SD…