<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)193:有效電話號碼

          共 1529字,需瀏覽 4分鐘

           ·

          2021-02-26 14:08

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個(gè)公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做 有效電話號碼,我們先來看題面:
          https://leetcode-cn.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)

          題意



          給定一個(gè)包含電話號碼列表(一行一個(gè)電話號碼)的文本文件 file.txt,寫一個(gè) bash 腳本輸出所有有效的電話號碼。

          你可以假設(shè)一個(gè)有效的電話號碼必須滿足以下兩種格式:(xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一個(gè)數(shù)字)

          你也可以假設(shè)每行前后沒有多余的空格字符。

          示例


          示例:

          假設(shè) file.txt 內(nèi)容如下:
          987-123-4567
          123 456 7890
          (123) 456-7890

          你的腳本應(yīng)當(dāng)輸出下列有效的電話號碼:

          987-123-4567
          (123) 456-7890



          解題


          思路一:grep命令

          grep命令用于查找文件里符合條件的字符串,其中-P選項(xiàng)可以讓grep使用perl的正則表達(dá)式語法。

          Bash腳本:

          grep -P '^(\d{3}-|\(\d{3}\) )\d{3}-\d{4}$' file.txt


          思路二:sed命令

          sed命令是利用script來處理文本文件,其中-n選項(xiàng)僅顯示script處理后的結(jié)果,取消將模式空間中的內(nèi)容自動(dòng)打印出來,-r選項(xiàng)表示在腳本中使用擴(kuò)展正則表達(dá)式。
          Bash腳本:
          sed -n -r '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/p' file.txt


          好了,今天的文章就到這里,如果覺得有所收獲,請順手點(diǎn)個(gè)在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動(dòng)力 。

          上期推文:

          LeetCode1-180題匯總,希望對你有點(diǎn)幫助!
          LeetCode刷題實(shí)戰(zhàn)181:超過經(jīng)理收入的員工
          LeetCode刷題實(shí)戰(zhàn)182:查找重復(fù)的電子郵箱
          LeetCode刷題實(shí)戰(zhàn)183:從不訂購的客戶
          LeetCode刷題實(shí)戰(zhàn)184:部門工資最高的員工
          LeetCode刷題實(shí)戰(zhàn)185:部門工資前三高的所有員工
          LeetCode刷題實(shí)戰(zhàn)186:翻轉(zhuǎn)字符串里的單詞 II
          LeetCode刷題實(shí)戰(zhàn)187:重復(fù)的DNA序列
          LeetCode刷題實(shí)戰(zhàn)188:買賣股票的最佳時(shí)機(jī) IV
          LeetCode刷題實(shí)戰(zhàn)189:旋轉(zhuǎn)數(shù)組
          LeetCode刷題實(shí)戰(zhàn)190:顛倒二進(jìn)制位
          LeetCode刷題實(shí)戰(zhàn)191:位1的個(gè)數(shù)
          LeetCode刷題實(shí)戰(zhàn)192:統(tǒng)計(jì)詞頻

          瀏覽 64
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  最近日本中文字幕中文翻译歌词 | 中文字幕免费在线 | 中日韩欧美一级A片 | 三级日韩在线 | 男女wwwwww |