滾蛋吧,正則表示式!
這是「進擊的Coder」的第 596 篇技術分享
作者:小 G
來源:GitHubDaily
閱讀本文大概需要 7 分鐘。
”此前我曾在公眾號推薦過不少正則表示式的相關工具與教程,以幫助大家掌握這個晦澀難懂,卻在實際開發中頗為實用的程式設計神技。
剛好,前陣子我在 GitHub 又看到一款不錯的正則表示式視覺化神器,就想著順手給各位推薦一下,再結合先前的幾個工具和教程,做下總結。
說實在的,作為一名程式設計師,正則表示式可謂是我們必須掌握的技術之一,特別是在進行資訊的快速檢索、驗證、匹配的時候,使用正則表示式能為我們減輕不少開發壓力。
但是,正則表示式的規則眾多,且難以記憶,如果你學會之後,隔了一段時間沒用上,那很快又會忘得一乾二淨。
就拿我來說吧,在學正則表示式這件事情上,總是反反覆覆的來回折騰,浪費了不少時間。
由此可見,實踐才是檢驗技術的唯一標準啊。
OK,話不多說,開始進入正題。
regex-vis
這是我近期在 GitHub 上看到的一個蠻不錯的正則表示式視覺化工具,作者是國內的一位開發者。
簡單來說,regex-vis 是一個可輔助學習、編寫和驗證正則的工具。但與其它視覺化工具不同是,regex-vis 不僅能對正則進行視覺化展示,還提供了視覺化編輯正則的能力。
作者提供了一系列元件,讓你可在 Web 頁面上通過配置,快速生成正則表示式,以及對應的視覺化圖形,並且還支援執行測試,檢驗結果。
另外,還有暗黑模式主題切換、正則表示式測試、常用樣例展示等功能。
可以說,有了這款工具之後,後續編寫正則表示式會省下不少精力。
技術原理: http://www.bowencodes.com/post/regex-vis
GitHub: http://github.com/Bowen7/regex-vis
i Hate Regex
從網站的名字上你應該就可以猜測到,作者是有多討厭正則表示式這玩意,不過討厭歸討厭,當你用上它之後,還是隻能大呼:"真香!"。
這個網站的主要作用,是可快速搜尋並匹配到合適的正則表示式,幫你完成如使用者名稱、郵箱、日期、手機號碼、密碼等常見規則的驗證。
此外它還會在詳情頁中展示正則表示式的具體功能介紹、視覺化圖表、速查表等內容,令你得以更快的掌握正則表示式的應用。
總的而言,對於正則表示式不太熟練的同學,這個網站還是能起到很大幫助的。
不過,從長期的投入產出比上看,我個人還是推薦你係統性學習下正則表示式,相信在未來的一些工作上應該能幫你省下不少時間。
網站: http://ihateregex.io
GitHub: http://github.com/geongeorge/i-hate-regex
learn-regex
《Learn Regex the easy way》是一個曾經在 GitHub 爆火的正則表示式教程。
在這個課程裡面,你能學到一系列關於正則表示式基礎知識,如基本匹配、元字元、簡寫字符集、零寬度斷言、標識等內容。
由於該教程受到無數開發者熱捧,在 GitHub 至今已突破 4w Star,因此也被翻譯成了中日韓等多國語言,讓那些英語能力不太好的同學也能上手學習。
GitHub: http://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md
從 0 到 1:學習正則表示式
專案作者是來自土耳其的開發者 Aykut Kardaş,目前已有人將其翻譯成了中文。
與常規技術教程不同, 該教程會基於問答的形式,通過可互動式介面,讓你在互動中實踐與理解正則表示式,使得整個學習過程不再枯燥乏味 。
在你完成一道問答題之後,下一道題才會解鎖,有點像玩遊戲時通關打怪的味道。
以第一道題目為例,你需要用正則表示式,快速匹配以下五個單詞:
bar ber bir bor bur
可以看到,每個單詞都以 b 開頭,r 結尾,中間夾著字母 a e i o u。
瞭解單詞的規律後,寫成正則表示式,就會像下面這樣:
/b[aeiou]r/g
上面這行就是答案,輸入答案框,即可解鎖下一道題。即便你解不出來,也不用慌,戳網站上對應的 [顯示答案] 按鈕,即可快速揭曉答案。
此外,因為正則表示式容易被人遺忘的特性,作者還貼心的給出了正則表示式的速查表,通過這個速查表,後期可以很方便的進行查閱複習。
此外,作者還提供了一個「遊樂場」功能,可讓你平時用於正則表示式的訓練與學習。
整體看來,該工具會著重於正則表示式的學習、練習、測試與分享,給你一條龍服務,通過簡單有趣的方式,快速掌握正則表示式的應用。
網站上目前的問答題不算多,總共就 50 多道,內容也都很精簡實用。
線上體驗: http://regexlearn.com/zh-cn/
GitHub: http://github.com/aykutkardas/
regex101
對於一個正則表示式初學者來說,單看不練肯定無法讓自己的技能得到提升,因此你還需要一款線上練習工具,來幫你鞏固正則表示式的學習基礎,它就是:regex101。
地址: http://regex101.com
網站支援中文、英文、法文、德文等多個國家語言,在你執行檢查正則表示式規則的時候,還會在左側非常貼心的給出對應解釋。
而在右下角還附有正則表示式的快速參考手冊,方便你邊練邊學。
怎麼樣,是不是覺得你離學會正則表示式又近了一步?
寫在最後
其實,在學習一門新技能的時候,來來回回基本都是那幾個套路,先把最簡單的概念搞懂,緊接著開始上手練習,邊做邊學,遇到不懂的再回去查手冊,通過這種方式,不斷加深對這項技術的印象,慢慢的形成肌肉記憶,你便能在潛移默化中掌握這項技能了。
以上,便是今天跟大家分享的開源專案,希望對你有所幫助。
文中所提到的所有開源專案,已收錄至 GitHubDaily 的開源專案列表中,有需要的,可訪問下方 GitHub 地址或點選「 閱讀原文 」檢視:
GitHub: http://github.com/GitHubDaily/GitHubDaily
End
崔慶才的新書 《Python3網路爬蟲開發實戰(第二版)》 已經正式上市了!書中詳細介紹了零基礎用 Python 開發爬蟲的各方面知識,同時相比第一版新增了 JavaScript 逆向、Android 逆向、非同步爬蟲、深度學習、Kubernetes 相關內容,同時本書已經獲得 Python 之父 Guido 的推薦,目前本書正在七折促銷中!
內容介紹: 《Python3網路爬蟲開發實戰(第二版)》內容介紹
掃碼購買
好文和朋友一起看~
- 乾貨丨用相似度演算法分析和解決字型反爬問題
- 推薦一個好用的圖片壓縮網站!清晰度不變的同時體積減小一大半
- 谷歌驗證碼 ReCAPTCHA 的模擬點選破解方案來了!
- 爬蟲 JavaScript 逆向進階!利用 AST 技術還原混淆程式碼
- 一個令人讚不絕口的抓包神器!
- 丨JavaScript 逆向過程中無限 Debug 的繞過方案
- 這個好玩!分享幾個爬蟲“逆向破解”的練手專案
- 百度又釋出一個神器!網友直呼好傢伙
- 大手筆!微軟一口氣在 GitHub 開源了 4 個技術教程
- 滾蛋吧,正則表示式!
- 俄羅斯最大的盜版資源網站,解封了!
- 給大家推薦一個強大易用的爬蟲智慧列表解析外掛!
- 清華博士導師整理:Tensorflow 和 Pytorch 的筆記(包含經典專案實戰)
- 這可能是你見過最全的網路爬蟲工具庫集合!
- 一個神器,大幅提升爬蟲爬取效率!
- 分享一個開源免費、功能強大的影片播放器庫
- 好用且能兼職賺錢的自動化工具 - Hamibot!
- 用 Markdown 做的 PPT,真的太強了!
- 這款開源的中文字型,太驚豔了!
- 萬物皆可 API!