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

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apple pencil一代的平替有哪些品牌?苹果平板的触控笔

随着苹果Pencil系列的推出,平替电容笔在国内市场得到了较好的发展,随之的销量,也开始暴涨,苹果pencil因为价格太高,导致很多人买不起。目前市场上,有不少的平替电容笔,可以替代苹果的Pencil&…

StringBuffer类 StringBuilder 类

StringBuffer类 介绍 StringBuffer是一个容器,代表可变的字符序列,可以对字符串内容进行增删。 StringBuffer是可变长度的。 实现了序列化接口,可实现串行化(可以将内容保存至文件或者网络传输): Serial…

webpack项目和vue项目发布,浏览器存在缓存

项目是webpack搭建的每次发步到线上,经常需要手动清楚浏览器缓存才能有效果。vue项目设置在最下面 项目打包的js(css也是一致)名称都采用哈希值 问题:哈希值在有些情况下打包会不变,导致浏览器使用自己缓存的资源 解…

wordpress主题zibll子比主题v7.2.2绕授权+教程

1、先说一下要准备的东西 一份子比7.1正式包,一台服务器,wp6.2.2正式包(wordpress),一个域名 2、首先把wp上传服务器的域名根目录下,然后打开前台按要求填写数据库和管理员邮箱账号密码,php版本…

Sql 语句小课堂8:求特定字段平均值的问题

Sql 语句小课堂8:求特定字段平均值的问题 问题来源初始数据超标条件方案一:得出汇总结果方案二:在原有数据上附加其结果 小结 问题来源 最近老顾变得原来越咸鱼了,好久没去逛 CSDN 问答了,于是灵感枯竭,不…

云计算——云计算关键技术

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 目录 前言 一.云计算关键技术 1.虚拟化技术 2.分布式数据存储技术 (1&…

Java正则表达式捕获组

捕获组是将多个字符视为一个单元的一种方法。 它们是通过将要分组的字符放在一组括号中来创建的。 例如,正则表达式(dog)创建包含字母d,o和g的单个组。 捕获组通过从左到右计算它们的左括号来编号。 在表达式((A)(B(C)))中,例如,…

taro-ui-vue3 的虚拟列表组件VirtualScroll

项目&#xff1a;taro3vue3 用法&#xff1a; <at-virtual-scrollbench"5":height"listHeight":items"fieldList":item-height"itemHeight" ><template #default"{ index, item }"><view :id"merchan…

浏览器视口

目录 css单位相对单位绝对单位 像素分类物理像素逻辑像素css像素 DPRPPI浏览器视口布局视口视觉视口理想视口 css单位 在css中我们会使用到许多单位&#xff0c;如px&#xff0c;em&#xff0c;rem&#xff0c;vw&#xff0c;vh等等 整体上&#xff0c;我们可以将它们分成两类…

windows下安装consul、springboot整合consul

Spring Cloud Consul通过自动配置和绑定到Spring Environment和其他Spring编程模型习语&#xff0c;为Spring Boot应用程序提供Consul集成。通过一些简单的注解&#xff0c;可以快速启用和配置应用程序内的常用模式&#xff0c;并使用Hashicorp的Consul构建大型分布式系统。提供…

Elasticsearch--查询(nested、join)

nested 嵌套类型 数据的某个值是json、object对象&#xff1b;不再是简单的数据类型&#xff0c;或者简单数据类型的数组&#xff1b;那么还用之前的查询方式就有问题了。因为ES在存储复杂类型的时候会把对象的复杂层次结果扁平化为一个键值对列表 。此时&#xff0c;需要用n…

MyBatis 中如何使用缓存

MyBatis 中如何使用缓存 MyBatis 是一个基于 Java 的持久层框架&#xff0c;它提供了多种方式来使用缓存&#xff0c;包括一级缓存和二级缓存。本文将介绍 MyBatis 中常见的缓存使用方式及其使用方法。 1. 一级缓存 MyBatis 中的一级缓存是指 SqlSession 的缓存&#xff0c;它…