《JavaScript 正規表示式迷你書》問世了!

老姚發表於2017-09-28
1.1版,下載連結:github.com/qdlaoyao/js…

之前在本站發表了一篇文章,《JS正規表示式完整教程(略長)》,正如你所看到的那樣確實很長,也獲得了近1000人的喜歡。但文章太長,想必有很多同學看不下去,大都只是收藏罷了。因此我整理成一本pdf。既然只是收藏,那麼收藏文章就不如收藏書來的好。其實,整理成pdf的靈感也來自本站讀者的反饋。

同時,我也相信我們不可能只做一個收藏家,有人8小時看完,有人花了一週看完,也有個把小時就能看完的。有很多讀者看完反饋說,表示弄懂正則了。對此,個人表示非常欣慰,我的這一丁點兒付出,能讓別人有所收穫,真是沒有比此更讓人開心的事情了,也算我也為前端界做出的一點小小的貢獻。

本書是第一版,對文章部分內容都修改了一下,當然也難免有筆誤(勘誤資訊在此處)。歡迎大家挑毛病,不管是筆誤、還是沒有說清楚的地方,都歡迎讀者留言。一段時間後,我會整理再出了新的版本。目前此書只有pdf格式,我最近也在學習mobi格式製作方法。

後續的大版本也會出的。可能會新增一些新的章節和專題。只是目前個人再找工作,等安心之後再說哈。

下面的內容是我的感謝和後記(有人已經在本站幫我轉發過了,感謝!)

感謝

由於本書是由個人文章修改而成,感謝各平臺讀者的支援。

感謝湖山,是他說我該把這些東西寫出來的。

感謝小不,他在多方面給予了我幫助,封面是他設計的。

感謝小魚二,他對全書進行了仔細地校對,並提出了相應的修改意見。

感謝丹迪的支援,他為我設計了多個封面,風格比較前衛,留給後續版本。

最後,尤其要感謝各位大佬幫我寫的推薦序。他們的名字不分先後如下:大漠窮秋、小魚二、Jack Lo、程式猿DD、江湖人稱向前兄、文藺、_週末、Dark_Night。

後記

我竟然寫了一本書!想想就挺開心的。

這是個人的第一本書,雖然不厚,但也算是完成了個人的一個小夢想了。

說起正規表示式,我之所以會去詳細地研究它,最初的動機是,當我分析前端常見的框架和庫的原始碼時,發現一般被卡住的地方就是它。後來逐漸學習並看懂了“天書”,彷彿進入了一個新世界。

有些工具就是這樣,當你沒有它時,可能並未覺得有啥不好,可是一旦你擁有了它,再也放不下手了。掌握正則了後,對字串一些複雜操作,竟然能很快地實現。看待問題的角度也發生了改變,每次看著精煉的正則程式碼,總是感覺真是妙不可言。

當然,對我而言,正規表示式不僅應用在程式碼裡。生活中也會經常使用它。比如個人平時回答網友問題時,一些網站私信裡貼的程式碼中字元都是轉義的。此時我都會貼到某個編輯器裡,然後寫個正則,再一次性替換,真方便。

另外一個例子是,一些程式碼編輯器的程式碼格式化功能,總有讓人不舒服的地方,此時我都會用寫好正規表示式,再格式化一下。

還有一個很應景的例子,在編輯本書時,經常要在指定位置插入特定的語法格式,比如程式碼段前面要插入
[source,javascript]
----複製程式碼
這樣的字元,此時,我發現我的大部分程式碼段,都是var開頭的,並且前面有一空行。此時我開啟查詢替換功能,查詢
(^\r\n)var複製程式碼
替換為
[source,javascript]\n----\nvar複製程式碼
這確實也幫我解決一部分工作。

當然,正規表示式是跟具體語言(比如JavaScript)無關的。因為正規表示式是用來處理字串問題的,基本上每門語言都有字串型別,那麼也都會支援正規表示式的。正規表示式是分流派的,也跟實現引擎有關。而JavaScript用到的正規表示式的語法,是市面常見語言都支援的核心子集。關於API,各語言基本大同小異,想用的話,應該很快就能熟悉起來。

關於正規表示式就說到這裡,下面說一說自己寫這本書的收穫。

有人說最好的學習方法就是寫一本書。其實,要想把知識掌握牢固,歸根到底就是用起來。寫書或者說寫作是一種很好的以教為學的手段。畢竟,形成文字,教給別人算是對知識的最直接的應用了。看似為了教,其實是為了學。只有教會別人才說明你掌握了。“以教為學”的手段除了寫東西之外,還有翻譯、以及面對面的輔導等。

以目標為導向的做中學,是比較有效的學習手段。本書是用Asciidoc寫成的。它類似於Markdown,但在此書之前本人都沒有用過。以需求為驅動,逐步百度檢索,自己才逐漸把書整理好了。其中遇到了很多與語法無關的問題,比如轉換pdf的過程中用的工具執行不起來,自己尋找原因,憑著感覺修改版本號等。又比如匯出的pdf有缺字的問題,百度明白後才發現跟字型有關。邊幹邊學,每解決掉一個問題,都挺有滿足感的。帶著問題去研究去學習,這是一種問題思維。然而一時的解決方案還不夠,後來我詳細地閱讀了Asciidoc使用手冊,也經常有“原來,還可以這樣寫!”的體會。

這點跟我們平常工作很像,以專案為導向,用啥學啥。比如初學一個框架,先幹起來,邊看文件,邊敲程式碼。程式碼敲完了,還要詳細地看一遍文件,屆時會發現還有更好的實現方式。不只有眼前的苟且,還會有明天的迭代。

另外一點,我深深體會到了,幹著簡單繁雜的工作是怎樣的體驗。一遍遍校對,一遍遍修改。每次,看都會發現新的待完善的地方。以至於現在我感覺已經能把本書背下來了,單調的工作確實考驗人的耐心。

就寫到這裡吧。如果你覺得此書不錯的話,歡迎讚賞(書中有微信二維碼的,看完之後再決定讚賞也不遲)。

《JavaScript 正規表示式迷你書》問世了!

最後,我們該想起陸游詩人對前端做出的貢獻:

紙上得來終覺淺,覺知此事要躬行。

本文完。


相關文章