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


以前使用正則是不會自己去學或者去了解怎么實現正則的語法的,感覺好難懂的樣子,於是拖到現在

 

其實正則不是我想象中的那么難,至少入門還是比較簡單。我剛學習了一些比較簡單的,談談我對正則的理解以及使用心得,希望能幫助大家

 

1、學習正則的話 ,正則手冊必須看的,了解常用的字符含義,這樣在學習或看或寫的時候,才不會覺得(哇,這什么鬼啊,為什么這么多括號中括號大括號, 這一串串的真是是規則嗎?會不會是別人亂寫的。)

2、大致看了一下手冊了之后,我覺得應該看一下關於正則教程的視頻,圖文音並茂,這樣才更容易讓人理解這是什么東西,然后跟着做一下。

3、看了視頻了解簡單的正則簡單的寫法就可以寫一下簡單的規則了。比如說驗證日期、價格、年齡等,這些都是項目比較常用的且簡單的正則驗證。

 

最后我舉一個簡單的例子

QQ號的驗證:

1、首先,要寫驗證的話,就必須了解你驗證的這個有什么樣子的規則。

QQ號是大多數人的青春,我相信絕大多數人都比較熟悉,那么它的規則估計並不是所有人都清除。

首先,騰訊剛開始發布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號的所有規則了,是不是很簡單。(不好意思,廢話多了)

 

2、寫規則

既然我們知道了規則,就是開始寫規則了,規則拆開寫,三個規則,第一: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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM