日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搞懂正则表达式之进阶篇

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搞懂正则表达式之进阶篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在上一篇博文里我們學習了基礎的正則表達式,學會這些還不足以應對工作學習,現在開始學習進階篇的正則表達式。

目錄

1.分組

2.或者

3.分組回溯

4.先行斷言

5.后行斷言


1.分組

?在正則表達式中提供了一種將表達式分組的機制,當使用分組時,除了獲得整個匹配。還能夠在匹配中選擇每一個分組。分組的一個重要功能就是捕獲數據,即將需要的數據在字符串中提取出來。使用()即可完成分組的操作。

如果我們僅想將字符分組卻不捕獲字符可以使用(?: 表達式)來實現

分組的實踐:如下,我們需要將日期中的數字部分提取出來,可使用以下表達式

在上式中,\d{4}表示匹配4個數字,[-,/\s?]表示字符出現0或1次,\d{1,2}表示數字出現1或2次。

2.或者

? 有時我們想要提取的不是單一種類的字符而是多個字符,這是就可以使用或者|來實現

3.分組回溯

在分組中我們可以定義一個分組,這個分組在以后出現時可以直接用數字代替使用,使用\N可以引用編號為N的分組,注意分組與其子分組是同一個而不是同一類。

4.先行斷言

先行斷言可以分為兩種:正向先行斷言、反向先行斷言

正向先行斷言:(?=表達式),指在某個位置向右看,表示所在位置右側必須能匹配表達式

在上圖中我們需要的是喜歡你中的喜歡二字,即喜歡后必須有你才可。

反向先行斷言:(?!表達式),作用是保證右邊不能出現某字符。

上圖中就是喜歡后面不能有你。

5.后行斷言

后行斷言與先行斷言正好相反:先行斷言從左往右看,后行斷言從右往左看。

正向后行斷言:(?<=表達式),指在某個位置向左看,表示所在位置左側必須能匹配表達式

上圖使用了正向先行斷言以及正向后行斷言,實現的功能是喜歡二字前有我,后有你。

反向后行斷言:(?<!表達式),指在某個位置向左看,表示所在位置左側不能匹配表達式

上圖使用了反向先行斷言以及反向后行斷言,實現的功能是喜歡二字前沒有我,后沒有你。


到此為止,正則表達式已經基本結束了,這篇博文就當作日后學習的筆記吧。

?

總結

以上是生活随笔為你收集整理的搞懂正则表达式之进阶篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。