zoukankan      html  css  js  c++  java
  • Shell练习 验证号码

    原文:
    https://leetcode.com/problems/valid-phone-numbers/
    Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bash script to print all valid phone numbers.
    
    You may assume that a valid phone number must appear in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit)
    
    You may also assume each line in the text file must not contain leading or trailing white spaces.
    
    For example, assume that file.txt has the following content:
    
    987-123-4567
    123 456 7890
    (123) 456-7890
    Your script should output the following valid phone numbers:
    987-123-4567
    (123) 456-7890
    简单点说,就是只要符合那两种的都是合格的号码,输出来就可以。

    答案

    cat file.txt |grep -E "(^([0-9]{3}) [0-9]{3}-[0-9]{4}$)|(^([0-9]{3}-){2}[0-9]{4}$)"

    这其中使用了grep -E命令,其表示命令中使用正则。

    正则有^(表示开头)和$(表示结尾),[0-9]表示从0开始到9之间的数包括0和9,{n}表示匹配n次。

    其中()表示小括号转义。

  • 相关阅读:
    CPU运行原理
    ucore代码分析
    ThreadLocal是否会导致内存泄露
    2018 多校联合训练 4
    2018 多校联合训练 3
    2018 牛客多校 4
    2018 牛客多校 3
    2018 牛客多校 2
    2018 牛客多校 1
    2018 多校联合训练 2
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/5351724.html
Copyright © 2011-2022 走看看