搞懂正则表达式之进阶篇
在上一篇博文里我們學(xué)習(xí)了基礎(chǔ)的正則表達(dá)式,學(xué)會這些還不足以應(yīng)對工作學(xué)習(xí),現(xiàn)在開始學(xué)習(xí)進階篇的正則表達(dá)式。
目錄
1.分組
2.或者
3.分組回溯
4.先行斷言
5.后行斷言
1.分組
?在正則表達(dá)式中提供了一種將表達(dá)式分組的機制,當(dāng)使用分組時,除了獲得整個匹配。還能夠在匹配中選擇每一個分組。分組的一個重要功能就是捕獲數(shù)據(jù),即將需要的數(shù)據(jù)在字符串中提取出來。使用()即可完成分組的操作。
如果我們僅想將字符分組卻不捕獲字符可以使用(?: 表達(dá)式)來實現(xiàn)
分組的實踐:如下,我們需要將日期中的數(shù)字部分提取出來,可使用以下表達(dá)式
在上式中,\d{4}表示匹配4個數(shù)字,[-,/\s?]表示字符出現(xiàn)0或1次,\d{1,2}表示數(shù)字出現(xiàn)1或2次。
2.或者
? 有時我們想要提取的不是單一種類的字符而是多個字符,這是就可以使用或者|來實現(xiàn)
3.分組回溯
在分組中我們可以定義一個分組,這個分組在以后出現(xiàn)時可以直接用數(shù)字代替使用,使用\N可以引用編號為N的分組,注意分組與其子分組是同一個而不是同一類。
4.先行斷言
先行斷言可以分為兩種:正向先行斷言、反向先行斷言
正向先行斷言:(?=表達(dá)式),指在某個位置向右看,表示所在位置右側(cè)必須能匹配表達(dá)式
在上圖中我們需要的是喜歡你中的喜歡二字,即喜歡后必須有你才可。
反向先行斷言:(?!表達(dá)式),作用是保證右邊不能出現(xiàn)某字符。
上圖中就是喜歡后面不能有你。
5.后行斷言
后行斷言與先行斷言正好相反:先行斷言從左往右看,后行斷言從右往左看。
正向后行斷言:(?<=表達(dá)式),指在某個位置向左看,表示所在位置左側(cè)必須能匹配表達(dá)式
上圖使用了正向先行斷言以及正向后行斷言,實現(xiàn)的功能是喜歡二字前有我,后有你。
反向后行斷言:(?<!表達(dá)式),指在某個位置向左看,表示所在位置左側(cè)不能匹配表達(dá)式
上圖使用了反向先行斷言以及反向后行斷言,實現(xiàn)的功能是喜歡二字前沒有我,后沒有你。
到此為止,正則表達(dá)式已經(jīng)基本結(jié)束了,這篇博文就當(dāng)作日后學(xué)習(xí)的筆記吧。
?
總結(jié)
以上是生活随笔為你收集整理的搞懂正则表达式之进阶篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网日报 | 7月19日 星期一 |
- 下一篇: 2021快手电商数据报告