#和秋葉一起學word#S04-4課時,變態級別挑戰解析

圖片來自課程截圖

題目:

#和秋葉一起學Word# S04-4課的變態級別挑戰:利用替換表達式,一次性將三等獎的12位電話號碼刪掉最后一個數字,并且將電話號碼斷開,加上短劃線符號,更改成3-4-4格式。

解題思路:

1、首先你要將11位手機號碼的表達式轉變為可應用于12位的手機號碼

2、其次你要刪掉最后一個數字

3、并且加上短劃線符號,為3-4-4格式

4、前面提到的3點必須同步進行

解題過程:

根據已知條件,11位手機號碼時,表達式為 ([0-9]{3})([0-9]{4})([0-9]{4}[!0-9])

( )看做一個整體,該表達式被分為三段

[0-9] 表示三段字符為任意數字

{? } 內的數字表示3、4、4個字符

[!0-9] 的存在不是必須的,可不用搭理(稍后有解釋)

那么相應的,12位手機號碼的表達式可以這樣寫(請在英文狀態下輸入)

被分為四段,表達式:(? )(? )(? )(? )

[0-9]必須存在,填進括號里,表達式為: ([0-9])([0-9])([0-9])([0-9])

字符數分別為 3、4、4、1,表達式為:([0-9]{3})([0-9]{4})([0-9]{4})([0-9]{1})

現在查找內容一項已經解決(記得勾選使用通配符

圖片來自本人

接下來是替換一欄如何填寫

根據已知條件,手機號碼打碼時的表達式為 \1****\3

\1 代表引用查找內容的第1段,

**** 代表你打碼時所呈現的格式

同理,\3 代表引用查找內容的第3段

那么,12位手機號碼被劃分為4段,表達式為 \1\2\3\4

又因為題目要求刪掉最后一個數字,也就是說 \4 沒必要寫

又因為題目要求加上短劃線符號,所以替換一欄改寫為? \1-\2-\3

so……

圖片來自本人

為什么之前說?[!0-9]?的存在不是必須的,是因為當你在表達式中添加它時,

圖片來自本人

會出現這種現象(我也不知道這種現象叫什么)

圖片來自本人

又因為在做普通挑戰的題目時,刪掉?[!0-9]?,前后對比的答案并沒有任何區別。

so……

總結:

一開始我看到這個題目,我是拒絕的,有種“臥槽,看上去好難的樣子”。擱平時,我都不會去嘗試的。

現在這篇解析,是我花了2個小時盯著那個復雜的表達式(其實并不復雜),各種查資料,參考別人解答,

由最開始的“什么鬼,根本看不懂,老師的題目太變態了吧”,(盡管老師有給普通題的解題思路,然而我并沒有看懂)

到中間的“原來3個括號分成了3段啊,我怎么到現在才明白過來,原來老師說的是這個樣子啊”,

再到最后的“原來也不過如此嘛,又掌握了一項酷(zhuang)炫(bi)技能。”

我心態上的轉變也是自己始料未及的。

秋葉老師在《不要等到畢業以后》一書中提到:

其實,你和高手之間只差了一個行動。

一切都沒有你想象的那么難。

(PS:本文的解題過程可能有很多缺陷,真的不好意思,因為作者也是個小白,只能用很傻很笨的方法一步步嘗試,請大家多多包涵)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:選D,7+9=16;9+(-1)=8;(...
    Alex_bingo閱讀 19,160評論 1 19
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • 【直播回顧】 周五早評中鵬凱提示短期仍需消化,周五全天整理消化吸收; 盤中鵬凱推測K圖與高低點與事實相符,高低點僅...
    看市者鵬凱閱讀 176評論 0 0
  • 今天晚上我寫完作業我媽媽說,快到平安夜了,我們一起做個蘋果吧,我說好的,我就先在家里做了幾步,我有一步不會,是我媽...
    碎片幻影閱讀 218評論 0 0