快速學(xué)習(xí)正則表達(dá)式,不用死記硬背,這里有份中文資源和互動(dòng)學(xué)習(xí)網(wǎng)站
現(xiàn)在GitHub上的有個(gè)2萬星的項(xiàng)目learn-regex解決了初學(xué)者的困難。
曉查 發(fā)自 凹非寺
量子位 出品 | 公眾號 QbitAI
無論你使用的是Python、Java、Perl還是Shell,正則表達(dá)式是學(xué)習(xí)主流編程語言幾乎繞不開的話題。有了它,就能幫你快速定位到符合篩選條件的文本內(nèi)容。
但對于初學(xué)者來說,有兩座擺在面前的“大山”:
一是正則表達(dá)式包含的符號種類非常多,如果只是死記硬背,學(xué)習(xí)起來會(huì)非常痛苦;
二是單獨(dú)介紹正則表達(dá)式的中文圖書資源非常少,而且存在介紹混亂的問題,不利于系統(tǒng)學(xué)習(xí)。
現(xiàn)在GitHub上的有個(gè)2萬星的項(xiàng)目learn-regex解決了初學(xué)者的困難。最近這個(gè)教程剛完成了漢化工作,還附有在線練習(xí),幫助初學(xué)者快速入門正則表達(dá)式。
什么是正則表達(dá)式
正則表達(dá)式( Regular expression)是一組由字母和符號組成的特殊文本, 它可以用來從文本中找出滿足你想要的格式的句子。
比如我們在網(wǎng)站中看到對用戶名規(guī)則做出了如下限制:只能包含小寫字母、數(shù)字、下劃線和連字符,并且限制用戶名長度在3~15個(gè)字符之間,如何驗(yàn)證一個(gè)用戶名是否符合規(guī)則呢 ?我們使用以下正則表達(dá)式:
以上的正則表達(dá)式可以接受john_doe、jo-hn_doe、john12_as,但不能匹配Jo,因?yàn)樗舜髮懽帜付议L度不到3個(gè)字符。
項(xiàng)目內(nèi)容
learn-regex整個(gè)教程分為6節(jié),內(nèi)容比較簡短,很快就能閱讀完。
教程從最簡單的正則表達(dá)式入手,緊接著又介紹了核心內(nèi)容元字符,然后由簡到難介紹正則表達(dá)式的各種用法。
在線練習(xí)
如果你以為learn-regex只是個(gè)簡單的漢化教程就大錯(cuò)特錯(cuò)了。learn-regex之所以能獲得2萬星的高贊,還有個(gè)重要原因就是它提供了在線練習(xí),直觀地展示了正則表達(dá)式的匹配方式。
比如(c|g|p)ar是如何匹配The car is parked in the garage.這句話中的幾個(gè)單詞的:
我們可以直觀地看到以c、g、p開頭并且緊跟ar的單詞都能很正則表達(dá)式匹配。網(wǎng)頁的右側(cè)還會(huì)給出相應(yīng)的解釋:
是不是比枯燥的文字解釋要生動(dòng)很多呢?那你也來試試吧!
傳送門
項(xiàng)目地址:
http://t.cn/AiYf6kSU
在線練習(xí)地址:
https://regex101.com/