麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Regex > 正文

正則表達式斷言、巡視(Assertions)、正向斷言、反向斷言介紹

2020-03-16 21:03:01
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了正則表達式斷言、巡視(Assertions)、正向斷言、反向斷言介紹,需要的朋友可以參考下
 

斷言(Assertions)在正則表達式概念里面難理解,它通常指的是在目標字符串的當前匹配位置進行的一種測試但這種測試并不占用目標字符串,也即不會移動模式在目標字符串中的當前匹配位置。詳細可以看看,正則表達式匹配解析過程探討分析(正則表達式匹配原理),里面提到“零寬度“很多元字符,只是對特殊位置進行匹配,它們可以理解為斷言。

斷言元字符

常見斷言元字符有: /b, /B, /A, /Z, /z, ^ ,$ 它們只是表示特殊位置,各自作用如有字符串AB,帶位置表示為:0A1B2

 

元字符 意義(以上面帶位置字符串說明)
^ 行首,字符串首 表示位置0
$ 行尾,字符串尾部,表示位置2
/b 字分界線,可以表示:0,2位置
/B 非字分界線,可以表示1位置
/A 目標的開頭(獨立于多行模式) 表示位置0
/Z 目標的結尾或位于結尾的換行符前(獨立于多行模式) 表示位置2
/z 目標的結尾(獨立于多行模式)表示位置2
/G 目標中的第一個匹配位置
A,Z,z,G很少使用

 

這些斷言的測試都是一些基于當前位置的測試,斷言還支持更多復雜的測試條件。更復雜的斷言以子模式方式來表示,它包括先行(前向)斷言(Lookahead assertions)和后行(后向)斷言(Lookbehind assertions),這些斷言判斷只做匹配判斷條件,不會記錄在匹配結果中,不會匹配字符。

先行斷言、正向斷言、正向巡視(Lookahead assertions)

先行斷言,常有表示(?=pattern),從當前匹配位置開始測試后面匹配字符串是否成立,還有(?!pattern)這樣兩種格式,我們來看看一個例子。源字符串:“abc100”,正則表達式是:
/[a-z]+(?=/d+)/ ,我們分析下過程如下圖:

正則表達式斷言、巡視(Assertions)、正向斷言、反向斷言介紹

首先由正則表達式字符 [a-z]+ 取得控制權,匹配字符:”abc”,位置從”0”開始匹配,變成3。從該位置測試/d+是否成立。匹配到字符100,返回成立。因此正則表達式正向斷言成功。返回匹配字符串”abc”

(?!pattern) 只是,正向匹配,當后面沒有匹配成功,將返回真。以下是系統源字符串:abc100,測試結果如下:

正則表達式斷言、巡視(Assertions)、正向斷言、反向斷言介紹

后行斷言、反向斷言、反向巡視(Lookbehind assertions)

后行斷言,常見表達式是:(?<=pattern)或者(?<!pattern)格式。正則表達式里面,不要出現不固定長度量詞,可能會出現死循環。匹配出錯。表示當前位置左邊將出現匹配字符,則返回真,后面匹配正常。因為如果它出現在最左邊,默認位置從0開始,匹配都是失敗的。一般都從后面正則表達式開始匹配,再回溯,直到匹配到為止。我們看看下面例子:源字符串:“abc100+=“,正則表達式是:”(?<=/w)/w+”,匹配過程如下圖:

正則表達式斷言、巡視(Assertions)、正向斷言、反向斷言介紹

首先由正則表達式字符 //w+/取得控制權,匹配字符:”abc100”,位置從”0”開始匹配,匹配到6個字符。從該位置0檢測左變/w匹配失敗。因此//w+/從字符b開始匹配到”bc100”,測試它左側有字符”a”,反向斷言正確。因此匹配到字符串“bc100”,(?<!pattern),只是沒有匹配成功返回真,其它都一樣!

后記:從這篇文章,我們發現搜索特點都是從左到有,一般正向斷言放到,正則表達式后,反向斷言放到匹配正則表達式前。但是,這里也可以放到前或后。這里就不再舉例。歡迎交流討論!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色片网站免费看 | 国产羞羞视频 | 国产在线精品一区二区 | 国产一级免费在线视频 | 欧美性受xxxx白人性爽 | 欧美成人精品h版在线观看 国产一级淫片在线观看 | 九九精品影院 | 国产亚洲美女精品久久久2020 | 国产成人高清在线观看 | 黄色视屏免费观看 | 黄色片网站在线免费观看 | 日韩美香港a一级毛片免费 日韩激情 | 亚洲免费在线视频 | 国产成人av在线播放 | 亚洲一区动漫 | 亚洲精品午夜国产va久久成人 | 久久狠狠高潮亚洲精品 | 国产1区在线观看 | 免费h片网站 | 中国字幕av | 美女网站黄在线观看 | 九九热九九爱 | 美国人成人在线视频 | 国产高潮好爽受不了了夜色 | 在线高清中文字幕 | 欧美日韩在线视频一区 | 欧美在线小视频 | 久久久精品精品 | 最新在线中文字幕 | 精品成人免费一区二区在线播放 | 特级西西444www大精品视频免费看 | 久久国产免费视频 | 女教师~淫辱の动漫在线 | 国产乱一区二区三区视频 | 欧美日韩中文字幕在线视频 | 午夜伦情电午夜伦情电影 | 成人9禁啪啪无遮挡免费 | 羞羞羞网站 | 香蕉久草视频 | 黄色高清免费网站 | 毛片视 |