怎麼學習正則表達式?(正則的使用心得)

之前使用正則是不會本身去學或者去了解怎麼實現正則的語法的,感受好難懂的樣子,因而拖到如今前端

 

其實正則不是我想象中的那麼難,至少入門仍是比較簡單。我剛學習了一些比較簡單的,談談我對正則的理解以及使用心得,但願能幫助你們git

 

一、學習正則的話 ,正則手冊必須看的,瞭解經常使用的字符含義,這樣在學習或看或寫的時候,纔不會以爲(哇,這什麼鬼啊,爲何這麼多括號中括號大括號, 這一串串的真是是規則嗎?會不會是別人亂寫的。)正則表達式

二、大體看了一下手冊了以後,我以爲應該看一下關於正則教程的視頻,圖文音並茂,這樣才更容易讓人理解這是什麼東西,而後跟着作一下。安全

三、看了視頻瞭解簡單的正則簡單的寫法就能夠寫一下簡單的規則了。好比說驗證日期、價格、年齡等,這些都是項目比較經常使用的且簡單的正則驗證。前端工程師

 

最後我舉一個簡單的例子工具

QQ號的驗證:學習

一、首先,要寫驗證的話,就必須瞭解你驗證的這個有什麼樣子的規則。網站

QQ號是大多數人的青春,我相信絕大多數人都比較熟悉,那麼它的規則估計並非全部人都清除。spa

首先,騰訊剛開始發佈QQ號的時候是從1開始的,也就是世界上第一個QQ號是1。可是爲了安全等等緣由,騰訊收回了4位數及更少的QQ號碼,只留下了10000開始的QQ號,因此騰訊的QQ號最小是10000,最大位置,也就是說只要比10000大的數字均可以。再者,QQ號有了一個最小數,那是否是用QQ號>10000就是QQ號了呢?好比:QQ號>10000。翻譯

其實否則,由於n個0加上10000+也是大於10000的,好比00010001,可是這個數字不是QQ號。因此第一個數字不能爲0,這就是QQ號的全部規則了,是否是很簡單。(很差意思,廢話多了)

 

二、寫規則

既然咱們知道了規則,就是開始寫規則了,規則拆開寫,三個規則,第一:QQ號必須是數字組成,第二:第一個數字不爲0且是一位數,取值範圍1-9,第三,QQ號位數至少是五位數。

[1-9]:[]表示一個字符的一個範圍,1-9表示只能取大於等於1,小於等於9的數字。

[0-9]:由於第二個數字開始,數字就能夠取值爲0了,因此取值0-9

{4,}:{}表示長度,可取兩個值,第一個是最小長度(必填,非負數),第二個是最大長度(選填),中間用逗號隔開,第二個不填表示無上限。QQ號爲5位數,因此第一位後面須要至少有4個數字。

最後連起來就是[1-9][0-9]{4,}。若是隻是驗證某一個參數是否是QQ號,就須要規定何時開始何時結束,否則只要一串字符串裏面連起來有符合規則的都會經過。

正則中 ^ 表示開始, $ 表示結束,爲了驗證某一個參數是否是QQ號,最後規則爲: ^[1-9][0-9]{4,}$   ,表示這個參數裏面必須以1-9的數字開頭,以0-9的數字結尾,不然通不過驗證。

最後  \d 等價與  [0-9] ,規則也能夠寫成 ^[1-9]\d{4,}$

 

 ----------------------------------------------分割線-------------------------------------------------------

 

新增:學習正則的時候能夠用下這個網站,你輸入的正則均可以很直觀的給你解釋這個正則表達的是什麼意思,好比:

只要你輸入一個正則表達式,不管有沒有//來分割,只要是正確的格式,均可以給你解釋。(digit中文是「數字」的意思,估計這個老外寫的工具,因此所有都是英文

若是和我同樣看不懂英文 ,就ctrl+c ctrl+v ,在百度翻譯裏面找答案吧,哈哈)

 

當你輸入一個錯誤的格式的時候,就會顯示如圖

很是好用的一個工具, 你們學習或者看別人寫的正則的時候,能夠藉助這個工具,祝各位早日掌握正則。

 

總結:正則驗證十分強大,入門簡單,適用於各類語言,多學一點,後面少苦惱一點。勤學苦練,終能成大事,但願各位一塊兒學習、進步。

 

我是剛入門不久的前端工程師,內容寫的可能不是那麼精簡、清楚,我會慢慢改進排版以及內容,但願各位多多指點,多多支持,謝謝

(ps: 若是有剛加入前端這個行業的,比較迷茫的同窗,歡迎進羣交流,但願不嫌棄的同行或者大佬加羣你們一塊兒交流,相信將來會更好,羣號:815957915)

相關文章
相關標籤/搜索