怎么学习正则表达式?(正则的使用心得)
以前使用正則是不會自己去學或者去了解怎么實現正則的語法的,感覺好難懂的樣子,于是拖到現在
?
其實正則不是我想象中的那么難,至少入門還是比較簡單。我剛學習了一些比較簡單的,談談我對正則的理解以及使用心得,希望能幫助大家
?
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)
轉載于:https://www.cnblogs.com/Simple-and-complex/p/10348762.html
總結
以上是生活随笔為你收集整理的怎么学习正则表达式?(正则的使用心得)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微电脑智能控制器(微电脑智能控制器使用说
- 下一篇: 快捷键查找桌面(桌面快速查找快捷键)