Bash 有效电话号码

news2024/11/24 7:55:27

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

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三维重建以及神经渲染中的学习(三)

三维重建以及神经渲染中的学习 公众号AI知识物语 本文内容为参加过去一次暑期课程学习时的笔记,浅浅记录下。 三维图形可控生成: 1:学习一个图形生成模型 2:具有可控三维变量:1物体形状;2物体位置&…

ScannerException: while scanning for the next token found character ‘@‘ 问题解决

问题描述 后端项目启动的时候报ScannerException: while scanning for the next token found character ‘‘ 异常,自己有些疑问,项目前一会都还可以,到报错的过程中,项目都没有动过。 解决办法 重新刷新项目就解决了。

RxSwift 使用方式

背景 最近项目业务,所有模块已经支持Swift混编开发,正在逐步使用Swift 方式进行开发新业务,以及逐步替换老业务方式进行发展,所以使用一些较为成熟的Swift 的三方库,成为必要性,经过调研发现RxSwift 在使用…

HarmonyOS/OpenHarmony应用开发-程序包多HAP机制(上)

一、多HAP机制设计目标 方便开发者模块化的管理应用,好的应用一般都是模块化管理,模块之间属于松耦合关系。多HAP方便了开发者将业务划分成多个模块,每个模块放到独立的HAP中。例如支付类应用,有统一的主界面,主界面管…

命令注入(Command Injection)安全漏洞(SQL注入、LDAP注入、OS命令注入、XPath注入、JavaScript注入)

文章目录 命令注入(Command Injection)发生场景示例防范手段其他类型命令注入漏洞1. SQL注入(SQL Injection)2. LDAP注入(LDAP Injection)3. OS命令注入(OS Command Injection)4. XP…

VectorCAST对外部函数打桩和查看覆盖率

一、对外部函数打桩 在单元测试中,如果要调用到外部函数调用的时候,就要对外部函数进行打桩。 对外部函数进行打桩的目的,一方面是为了验证外部函数接口的正确性,另一方面是对外部函数打桩 之后就可以自定义外部函数返回值。 对…

Unity5.4.1打砖块游戏Breakout_Game_Starter_Kit

Unity5.4.1打砖块游戏Breakout_Game_Starter_Kit 童年的回忆 项目地址:https://download.csdn.net/download/Highning0007/88042779

vue 使用 npm run dev命令后 自动打开浏览器为谷歌

文章目录 需求分析 需求 vue 启动后,想要其自动打开指定浏览器(谷歌)并设置要打开的IP地址和端口号 分析 package.json 打开package.json文件加上 --open chrome index.js 打开index.js文件,将浏览器设置为自动打开

【力扣刷题 | 第十七天】

目录 前言: 55. 跳跃游戏 - 力扣(LeetCode) 45. 跳跃游戏 II - 力扣(LeetCode) 总结: 前言: 今天两道类型都是贪心算法,希望可以有所收获 55. 跳跃游戏 - 力扣(LeetC…

入门车载以太网

前言 近些年来,随着为了让汽车更加安全、智能、环保等,一系列的高级辅助驾驶功能喷涌而出。未来满足这些需求,就对传统的电子电器架构带来了严峻的考验,需要越来越多的电子部件参与信息交互,导致对网络传输速率,稳定性,负载率等方面都提出了更为严格的挑战。 除此以外…

哪些职位需要CISP证书?快进来看看你需不需要

CISP是目前中国最主流的信息行业的证书,也是业界公认的最专业的信息安全技术和管理资格培训。无论是政府部门、金融、电力、交通能源、IT等相关行业,都可以看到CISP证书的持有人。现在持证的人数日趋上升,成为一个必备证书。CISP知识体系是国…

【JavaEE】HTTP协议和抓包工具的使用

目录 1、HTTP的概述和抓包工具的使用 1.1、HTTP是什么 1.2、了解HTTP协议的工作过程 1.3、抓包工具的使用 1.3.1、抓包工具在HTTP传输时的工作原理 1.3.2、Fiddler抓包工具的下载和使用 2、HTTP协议格式 2.1、HTTP 请求格式 2.1.1.基本格式 2.1.2、了解HTTP请求包中的…

有趣的命令——————用随机密码新建20个用户,并输出密码

vim test.sh 输入以下内容:for i in seq 10douseradd user$ipassecho $RANDOM | md5sum |cut -c 1-6echo "$pass" | passwd --stdin "user$i"echo -e "账户:user$i\n 密码:$pass" >> /root/passwddone例…

Layui关于如何添加连接数据库的选项卡(三)

目录 1.实现效果: 2.思路: 3.PermissionDao类(增加属性) 4.主页:jsp 5.简洁风格修改选项卡的样式: 6.关于style中的属性设置使用 7.关于Element 组件介绍: 8. Layui 中的页面进行更新和…

如何解决git中拉取或提交代码出现的ssl证书问题?

问题描述 执行命令的时候,出现"…certificate problem…"报错,一般在执行"git push“ (推送分支) 或者 “git clone”(克隆仓库)时出现,原因时因为SSL安全验证问题,不能获取到本地的的证书。那么如何解决这个问题…

Linus再发飙:这就是一堆垃圾!

Linux 6.3 内核的合并窗口已开启,Linus Torvalds 也收到了大量的 PR,目前总体看来正在有序进行。但 Linus 对部分合并请求的日志信息非常不满:“我之前就已经说过,很显然现在我需要再重复一次,如果你懒得解释为什么会存…

【UE4 C++】根据指定路径生成静态网格体

在上一篇博客中(【UE C】蓝图调用C函数),我们用C创建了一个蓝图函数库,本篇文章在这个蓝图函数库基础上增加一个方法,该方法只需输入一个文件目录路径,就可在场景中生成该目录下得所有静态网格体。&#xf…

Kafka学习笔记(高级篇)

目录 高级功能 高效读写 涉及技术 ZooKeeper 自定义拦截器 监控 延迟消费 一些改进手段 高级功能 高效读写 涉及技术 高吞吐量:Kafka 每秒可以处理数百万消息。这是因为 Kafka 消息的处理是以批处理(Batching)的方式来完成的&…

python+unittest+requests+HTMLRunner搭建接口测试框架,执行用例请求多个不同请求方式的接口

问题描述: 搭建接口测试框架,执行用例请求多个不同请求方式的接口 实现步骤: ① 创建配置文件config.ini,写入部分公用参数,如接口的基本url、测试报告文件路径、测试数据文件路径等配置项 1 [DATABASE] 2 data_addre…

一文带你快速了解如何在Linux上部署项目

文章目录 前言一、手工部署项目1.在IDEA中开发SpringBoot项目并打成jar包2. 将jar包上传到Linux服务器3. 输入指令启动SpringBoot程序4. 检查防火墙,确保80端口(项目端口)对外开放,访问SpringBoot项目5. 在windows访问项目6. 改为…