Answers
學習一詞被過分濫用了。
你可以說學習物理、學習數學、學習線性代數、學習抽象代數;
或者,學習一個學科。
但你不該說學剛體、學矩陣、學羣。。。
你可以說學開車、學開飛機、學理髮、學擦地。。。
但你不該說學汽車、學飛機、學頭髮、學地板。。。
當然學抽象代數和學擦地中的「學」是截然不同的,但「學」一詞要麼跟一個學科一個領域,要麼跟一種行爲一個動作;
正則表達式既不是一個學科一個領域,也不是一種行爲/動作;
「學習正則表達式」這種說法本身就是有問題的。
你是想學習正則表達式的原理和實現呢,還是想學正則表達式的使用呢?
前者纔需要理解和記憶,後者只需要練習。
而「學習」一詞顯然更側重前者。但使用前者的含義時,學習一詞通常跟一個學科領域理論的名字,而不是一個實體的名字。
綜上,題主的問題不在於不知道如何「學習正則表達式」,而在於樓主根本就不懂「何爲學習」。
因爲本來就不存在「學習正則表達式」的問題。
還不快找幾個例子練習去?對於技能而言,在用中學纔是效率和效果最好的。
至於理論基礎,推薦 Programming Perl 中關於正則表達式的一章(等到你熟練時再說)。
首先,我也不是大神。但是在编程这方面我有自己的一套学习方法:
学编程,最重要一点是不要死记硬背,否则那跟备战高考一样了。当学习某一个概念时,最重要的是要去理解它的概念,在理解的条件下再去记忆。当你觉得去学正则表达式真的很无聊,好了,那就暂时不学了,直接跳过它(当然了,也不是说跳过后,对它毫无概念,至少能够了解它是怎么一回事,具体的规则可以忘记)。当某天你觉得应该要用到正则表达式,这个时候再去搜索它,一般来说这个东西的解说网上一抓一大把,然后依照你的需求,有针对性的去看它的具体规则,看完之后就可以直接应用到你的项目中,其实这种方式的学习效率是最高的(毕竟光看不练,过一段时间也会忘记的,只有多练,才会真的印在脑中,怎么忘都忘不了),如果这个时候你还有闲心,可以重新学习它的所有规则(这个因人而异,你只想看一部分也可以),或者你还是觉得它很烦人,好了,再次跳过。然而当某天你又要用它时,那就再去重新学呗......经过很多次循环,我相信你一定会掌握它。 因为我就是这样学会它,我总是把每个技术分到不同的时间段来学习,事实证明,这种方式效率很高,而且最重要的是过程一点都不痛苦。