說起正則表達式,相信大家都不陌生。在很多程式設計師的認知中,這東西並不難,在工作中用的也不多,每次用的時候去 Google 搜一搜,然後複製過來改一改,問題就解決了,看起來效率特別高,好像完全沒必要專門花時間和精力去學它。
如果你也是這麼覺得,我只能說,你對正則這個強大的工具,還不夠了解。在我看來,正則就是看似不用沒什麼影響,但一旦熟練應用了,就再也放不下的「效率神器「。
為什麼這麼說?眾所周知,作為計算機領域最偉大的發明之一,正則表達式簡單、強大,極大地提高工作中的文本處理效率。而且幾乎所有的程式語言,無論是前端的 JavaScript、還是後端的 Java、Python,以及各大作業系統、文本編輯器都支持正則表達式。
可以說,它圍繞在日常工作中的方方面面。比如,我們經常需要從大段文本中抽取需要的內容,學會使用正則之後,不用寫代碼就可以完成類似的日常工作。舉個例子,假如我們在 Sublime Text 3 中使用正則,查找重複出現的單詞,並且想把它替換成單個單詞。
菜單中的 Find -> Replace,在查找欄中輸入 (\w+) \1,在替換欄中輸入子組的引用 \1 ,然後點擊 Replace All 就可以完成替換工作了。這樣,通過少量的正則,我們就完成了文本的處理工作了。是不是很方便呢?
用了正則後,你會發現,之前 20 分鐘才能解決的問題,現在 2 分鐘就可以搞定,比如你還可以利用它來校驗數據的有效性,判斷用戶輸入的手機號是不是符合規則;也可以從文本中提取想要的內容,比如從網頁中抽取數據;還可以用來做文本內容替換,從而得到我們想要的內容等等。
這些需要耗時很長的工作,用正則分分鐘就可以解決。毫不誇張的說,學會靈活應用正則,能夠讓你至少可以少寫 1000 行代碼。
正則是真的強,但感覺很複雜,記不住,一學就勸退啊?
相信這是不少人的心聲,其實,你之所以覺得正則」難學難記「,究其根本,還是因為:
用的時候,依靠從網上複製粘貼,運行全憑運氣,對於如何構成,不求甚解;
不懂正則表達式的底層原理和邏輯,在網上找到的正則總與自己的需求有些出入,看不懂,也不會改,達不到預期的效果,或者容易出現性能問題;
不重視正則,覺得沒有必要專門花心思學,用的時候才發現「方恨少「。
總結起來,就是沒有系統學習正則、沒有高效的學習記憶法。早在之前我在極客時間上做過一個講解正則「視頻」,就曾經給這些問題提供過一些解決思路。
在視頻中,關於正則記憶和使用,我提煉過一套學習圖譜,得到了不少同學的熱烈反響,但時長有限,無法展開細講。所以,這次我在極客時間推出了《正則表達式入門課》專欄,想用通俗易懂的方式,給你套正則的系統學習路徑,通過多場景的案例,帶你實操正則應用,真正做到可以跨平臺、多語言活學活用,讓正則這個強大的工具在你手上發揮出真正的威力。
立即掃碼,免費試讀👆結算時,
輸入優惠口令「weizhong9」
到手價 ¥ 50 ,立省 ¥ 18
僅限「前 200 人」有效
為了幫你事半功倍的學習正則,在這裡,我也把我整理的記憶腦圖中的「元字符」部分,分享給你,建議收藏👇
優秀的程式設計師,不會用行動的勤奮來掩蓋思考和學習的懶惰,與其用的時候再去查,修修補補,真正系統學會正則,才可以真正提高你的工作效率。
我是塗偉忠,現任某大型企業高級研發工程師,工作以來一直從事後端服務研發工作,在服務端開發方面有非常豐富的實戰經驗。編程十多年來,一直堅持技術輸出,著有《Django 開發從入門到實踐》一書,也是極客時間每日一課《15 分鐘帶你快速掌握正則表達式》的作者。
為了真正解決大家「系統學習正則」這一核心的需求,我在設計課程時,會先帶你掌握正則重要的概念和功能,再以工作中的真實案例,帶你實操應用。基於整個思路,課程共兩個模塊:
正則的很多基本知識其實並不難,只是難記,記住並理解它,才是我們的最終目的。所以這部分我將講述正則的基礎概念和知識,比如正則元字符、匹配模式等,幫助大家巧妙記憶正則,並系統地建立有關正則的基礎框架。
這裡我主要講正則的進階內容,比如:
正則中的斷言,包括單詞邊界、行開始和結束、環視;
正則中的主要流派,以及對應的軟體實現;
正則的工作機制和常見的優化方式等;
不同編譯器裡的正則都有什麼不同?
....
通過這些內容,可以讓你更加遊刃有餘地使用正則,也可以避過很多坑。比如,為什麼在程式語言中能工作的正則,在 Linux 命令 grep 中就不能工作了呢?正則匹配的原理又是什麼?如何寫出性能更好的正則呢?等等,讓你把正則這個工具更好地落地到實際工作中。
正則表達式的系統學習路徑
事半功倍的分類記憶法
30+ 常見問題及解決方案
多場景案例實操正則應用
1 分鐘看看目錄,相信你會有所得👇
1 早鳥優惠 ¥55,原價 ¥68,結算時,輸入優惠口令:「weizhong9」,到手價 ¥ 50,立省 ¥18 ,僅限「前 200 人」有效
2 訂閱後分享海報,每邀請一位好友訂閱,可得 ¥18 返現,多邀多得,上不封頂。
👆 立即掃碼,免費試讀
溫馨提示:
訂閱後可通過「極客時間 App」或「極客時間小程序」我的 - 已購,學習已訂閱的專欄。
👇點擊「閱讀原文」,
輸入優惠口令「weizhong9」,
以最低價 ¥50 入手,僅限 前 200 人。