正規表示式是處理字串的利器,並提高工作效率,乙個好的正則能夠幫我們省去幾十甚至上百行**。在工作中,也許你會見到在****現很多正則處理字串,也可能見到**中毫無正則,原因在於會正則的人往往處理字串首先想到用正則去處理,不會的那必然用很多api處理。並且在面試的時候很多同學往往掛在正則這裡,所以對於前端正則是乙個必備技能。這篇文章不光能教會你如何使用它,還能讓你懂得其中的原理,在以後使用和面試中將做到毫無懼怕。
要想玩轉正則首先要明白三大元素:1.修飾符修飾符
元字元
量詞
例:var reg = /^d$/g 這是乙個簡單點正則,下面我們來對三大元素一**竟
2.元字元
元字元其中分為特殊元字元和普通元字元3.量詞普通元字元就是列入陣列,字母等元素
常用特殊元字元如下:
量詞主要的作用是用來描述元字元出現的次數 如下:
看到這裡大家一定有些暈,這些稀奇古怪的符號,到底如何運用,下面將帶大家去運用這些字元,在運用之前同學們要做到牢記 牢記 牢記這些字元,想要玩轉正則必須要的就是牢記他們,當你牢記這些字元的同時說明你已經入門了。
正則的建立方式分為兩種,一種是字面量建立,另一種是建構函式建立
var reg = /\d+/img
var reg = new regexp('\\d+', 'img')
第乙個引數是元字元並且d這種特殊字元在這裡面是普通字元,所以需要用轉義為特殊字元,第二個引數是修飾符這兩種的用途有區別,一般需要動態建立正則元字元採用建構函式建立,因為裡面元字元是字串拼接,常規固定寫死正則採用字面量建立,例子如下:
可以看到正則原型物件上一共就三個方法,exec
test
和tostring
#### 捕獲原理
- 1.在捕獲的時候先驗證當前字串和正則是否匹配,不匹配返回null(沒有捕獲到任何內容)
- 2.如果匹配從字串最左邊開始,向右查詢到匹配內容,並把匹配的內容返回
#### 捕獲結果
- 1.結果是乙個陣列
- 2.第一項0 是當前本次大正則中匹配的結果
- 3.`index `是匹配到的結果在字串中的索引位置
- 4.`input `當前正則操作的原始字串
- 5.如果大正則中有分組`()`,獲取的陣列中從第二項開始都是每個小分組的捕獲結果
- 下面舉乙個身份證正則的例子 便於參考,具體裡面匹配規則下面會單獨介紹,這裡只學習字段意義
![正則exec方法](
具體案例就就少到這裡,網上有各種正則的案例,同學們以後看到案例具體分析他們是如何寫的,不要一味地使用,這樣才能在工作中不斷地思考,學習。魏燃技術部落格正則元字元表
從面試官的角度隨便聊聊,簡歷
有些公司是不篩簡歷,先筆試的。但是大部分公司為了節省資源 面試官的時間也要發工資的啊 所以都會先篩一下簡歷。我發現許多同學們對簡歷不夠重視 我甚至發現有人連工程內容都不寫的,誰敢要啊。給乙個公司投簡歷的時候,最好先看看該公司的 job description。一般篩簡歷的時候都是硬性標準,客觀,好篩...
面試官感悟
其實之前也面試過幾個人,但都是零星的跟著別人一起,我也只是偶爾詢問一兩句就結束了。昨天這是一場真正的大型招聘會,而且面試也是相當規範,面對的還是社招。對於我這種初出茅廬來說,這是第一次真正接觸參與的一場招聘會,想起要面那些比自己工作年限還長的人,心裡很沒底,有點小擔心和緊張的。當然一整天下來也算體驗...
面試官問題
解釋一些壓縮感知理論 壓縮感知是一種全新的訊號採集和恢復理論,它打破了傳統的奈奎斯特取樣定律,可以從更少的觀測訊號訊號中重建出高質量的原始訊號。其基本思想是,當訊號是稀疏或可壓縮時,我們可以通過乙個隨機測量矩陣將高維訊號投影到低維空間,再通過乙個求解優化問題高概率的恢復原始訊號。解釋一下壓縮感知磁共...