如何学习正则表达式


目前刚接触正则表达式,看到书上要记忆的东西非常多。大家是怎么学习正则表达式的,求指导。

Thanks

正则表达式 javascript正则

TripleK 10 years, 7 months ago
真甜幸村喵 answered 10 years, 7 months ago

我不是大神。
以自己的经验来看要结合实际场景做会更好些,反正就是不断练习啦。
基本的如邮箱,电话,邮编这些的匹配,再如做爬虫提取想要的信息、自己做个js的模板引擎等等

这不是杯具 answered 10 years, 7 months ago

正则表达式还是满复杂的,但一般网上找到的教程1个小时左右就能看完,算入门了,然后根据实际使用的对一些内容进行更深入的了解。这个主要还是靠多用,多写,按照自己的需求来逐步深入学习,一开始看太多的内容而不使用的话,忘的特别块。

狂乱的桂公子 answered 10 years, 7 months ago

1.找个简单的正则入门教程看,教程很多,google ‘55分钟学会正则表达式’。
2.下个带正则搜索的编辑器,如notepad++,跟着教程练,或者在chrome dev tools里用js实战操作。

这样,正则表达式就(基本)学会了。
其实日常最高频用到的正则功能也就是个匹配一定模式的字符串,所以简单教程里的东西大部分已经能满足绝大部分需求了。对正则有更深层次的需求,那就要看更完整的文档了。

samgc answered 10 years, 7 months ago

多用就行了,光看是不行的

也许是植植 answered 10 years, 7 months ago

寂寞的金克拉 answered 10 years, 7 months ago

學習一詞被過分濫用了。

你可以說學習物理、學習數學、學習線性代數、學習抽象代數;

或者,學習一個學科。

但你不該說學剛體、學矩陣、學羣。。。

你可以說學開車、學開飛機、學理髮、學擦地。。。

但你不該說學汽車、學飛機、學頭髮、學地板。。。

當然學抽象代數和學擦地中的「學」是截然不同的,但「學」一詞要麼跟一個學科一個領域,要麼跟一種行爲一個動作;

正則表達式既不是一個學科一個領域,也不是一種行爲/動作;

「學習正則表達式」這種說法本身就是有問題的。

你是想學習正則表達式的原理和實現呢,還是想學正則表達式的使用呢?

前者纔需要理解和記憶,後者只需要練習。

而「學習」一詞顯然更側重前者。但使用前者的含義時,學習一詞通常跟一個學科領域理論的名字,而不是一個實體的名字。

綜上,題主的問題不在於不知道如何「學習正則表達式」,而在於樓主根本就不懂「何爲學習」。

因爲本來就不存在「學習正則表達式」的問題。

還不快找幾個例子練習去?對於技能而言,在用中學纔是效率和效果最好的。

至於理論基礎,推薦 Programming Perl 中關於正則表達式的一章(等到你熟練時再說)。

lalal answered 10 years, 7 months ago

首先,我也不是大神。但是在编程这方面我有自己的一套学习方法:
学编程,最重要一点是不要死记硬背,否则那跟备战高考一样了。当学习某一个概念时,最重要的是要去理解它的概念,在理解的条件下再去记忆。当你觉得去学正则表达式真的很无聊,好了,那就暂时不学了,直接跳过它(当然了,也不是说跳过后,对它毫无概念,至少能够了解它是怎么一回事,具体的规则可以忘记)。当某天你觉得应该要用到正则表达式,这个时候再去搜索它,一般来说这个东西的解说网上一抓一大把,然后依照你的需求,有针对性的去看它的具体规则,看完之后就可以直接应用到你的项目中,其实这种方式的学习效率是最高的(毕竟光看不练,过一段时间也会忘记的,只有多练,才会真的印在脑中,怎么忘都忘不了),如果这个时候你还有闲心,可以重新学习它的所有规则(这个因人而异,你只想看一部分也可以),或者你还是觉得它很烦人,好了,再次跳过。然而当某天你又要用它时,那就再去重新学呗......经过很多次循环,我相信你一定会掌握它。 因为我就是这样学会它,我总是把每个技术分到不同的时间段来学习,事实证明,这种方式效率很高,而且最重要的是过程一点都不痛苦。

7k777 answered 10 years, 7 months ago

最基本的两步:看资料 + 实践。
要入门正则表达式,需要找到合适的学习资料,这里推荐一本很薄但内容非常不错的书《正则表达式必知必会》,看书的过程是一个理解记忆的过程;期间可以开始做一些实践,例如简单的写一些匹配邮箱格式的正则表达式、爬虫匹配HTML的正则表达式,充分理解正则表达式的运用场景。

★Venus★ answered 10 years, 7 months ago

Your Answer