2020-02-05

1.题目描述

写一个bash脚本来判断输入文件中的字符串是否为有效电话号码

2.题解

使用正则表达式来进行匹配

3.代码

grep -P '^(\d{3}-|\(\d{3}\) )\d{3}-\d{4}$' file.txt
代码如下:
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>
using namespace std;ifstream fin("file.txt");int main(){string s;bool f[14],flag;int i;while (!fin.eof()){getline(fin,s);flag=false;memset(f,false,sizeof(f));if (s.length()==14){f[0]=f[4]=f[5]=f[9]=1;if (s[0]!='('||s[4]!=')'||s[5]!=' '||s[9]!='-') flag=false;else{for (i=0;i<14;i++){if (!f[i]){if (s[i]>'9'||s[i]<'0'){flag=false;break;}}}if (i>=14) flag=true; }}else if (s.length()==12){f[3]=f[7]=1;if (s[3]!='-'||s[7]!='-') flag=false;else{for (i=0;i<12;i++){if (!f[i]){if (s[i]>'9'||s[i]<'0'){flag=false;break;}}}if (i>=12) flag=true;   }}if (flag) cout<<s<<endl;}return 0;
}

193. 有效电话号码相关推荐

  1. C#LeetCode刷题-Shell

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-Shell | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCodeShell类算法题 ...

  2. leetcode刷题目录总结

    题目 题目 技巧 相似的题目 其他 1. 无序数组中找出目标为target的两个数 先定义下一个数,然后找两位的数是否存在 高频, 大厂刷题班, 第27节 2.逆序链表两数相加 链表.各位加法 高频, ...

  3. 如何学好C语言--你的学渣朋友告诉你

    光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...

  4. LeetCode 从零单刷个人笔记整理(持续更新)

    更新至2020.2.23 github:https://github.com/ChopinXBP/LeetCode-Babel 本人博客用于个人对知识点的记录和巩固. 用几乎所有可行的方法进行了实现和 ...

  5. LeetCode中的那些题

    目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 *******4.寻找两个有序数组的中位数(官方解答) : 5.最长回文子串(官方解答) 15. 三数之和 16. 最接近的三数之和 ...

  6. leetcode 转载

    转载: https://blog.csdn.net/love905661433/article/details/84980135 LeetCode 1- 100 1. 两数之和 : https://b ...

  7. JavaScript最新手机号码、电话号码正则表达式

    JavaScript最新手机号码.电话号码正则表达式 一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确.因此, ...

  8. 简单的纯数字图像(如电话号码、数字验证码)识别

    又到岁末,大家都忙着捞年底最后一桶金,我也不例外,忙着采集数据,不过有时候需要付出一点点时间而已. 在本案例中,我遇到了一个纯数字的电话号码变成了图片需要采集过来,在原网页上以<img src= ...

  9. 为什么局域网IP通常以192.168开头而不是1.2或者193.169?

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

最新文章

  1. 将指定日期字符串转换为Calendar对象
  2. python远程ftp服务器文件,如何将远程python FTP服务器连接到本地pythonftp客户端
  3. Direct2D的使用
  4. 在vue项目中使用树形结构的穿梭框
  5. mysql 分析服务_MySQL分析服务器状态_MySQL
  6. mysql jdbc 绑定变量_jdbc测试mysql数据库sql预解析(绑定变量)
  7. twisted系列教程九–Deferred 的第二个小插曲
  8. 怎样将树的中序遍历的数输入到一个数组中_LeetCode 530.二叉搜索树的最小绝对差
  9. Spring Cloud 中的@FeignClient注解中的contextId属性
  10. Atitit.实现反向代理(1)----url rewrite 配置and内容改写 and -绝对路径链接改写 java php...
  11. modal 弹出层后禁止底层滚动
  12. [ C语言 ] 用C语言实现小游戏 ---- 三子棋 代码 + 解析
  13. 从零开始学PCR技术(三):PCR引物设计
  14. 海康摄像头忘记密码,自己如何快速重置密码
  15. dd命令创建一个大文件
  16. Python中如何进行代码换行?
  17. Error contacting service. It is probably not running.
  18. 奥塔在线:MySql数据库定时备份脚本
  19. css行高line-height研究
  20. 没有几十年功力,写不出这一行“看似无用”的代码!!

热门文章

  1. 大数据之Hive教程
  2. python列表内元素求和_在Python中将列表的每个元素与另一个列表的每个元素相乘/相加/相除的有效方法...
  3. ubuntu16.04源码安装python3.7
  4. Nature子刊:是穷是富与基因有关?大数据分析发现149个与收入相关基因位点
  5. iCloud怎么协同作业文? iCloud怎么协同编辑文档?
  6. M1芯片版mac软件安装出现异常怎么办?解决方法来了
  7. jmeter mysql驱动jar包_用 Jmeter 做 Web 接口测试
  8. P5735 【深基7.例1】距离函数(python3实现)
  9. vue设置输入框输入长度_vue输入框限制字符串长度和输入内容实时验证的实现方式...
  10. pandas plot label_Python+Pandas | 分析比特币与股票市场的关系