国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

正則表達式入門教程(四)

2019-11-10 18:57:40
字體:
來源:轉載
供稿:網友

一、貪婪與懶惰

       當正則表達式中包含能接受重復的限定符時,通常的行為是(在使整個表達式能得到匹配的前提下)匹配盡可能多的字符。以這個表達式為例:

 a.*b,它將會匹配最長的以a開始,以b結束的字符串。如果用它來搜索aabab的話,它會匹配整個字符串aabab。這被稱為貪婪匹配

       有時,我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的限定符都可以被轉化為懶惰匹配模式,只要在它后面加上一個問號?。這樣.*?就意味著匹配任意數量的重復,但是在能使整個匹配成功的前提下使用最少的重復。現在看看懶惰版的例子吧:

a.*?b匹配最短的,以a開始,以b結束的字符串。如果把它應用于aabab的話,它會匹配aab(第一到第三個字符)和ab(第四到第五個字符)。

為什么第一個匹配是aab(第一到第三個字符)而不是ab(第二到第三個字符)?簡單地說,因為正則表達式有另一條規則,比懶惰/貪婪規則的優先級更高:最先開始的匹配擁有最高的優先權——The match that begins earliest wins。

正則表達式系列暫時先寫這么多吧,基礎的差不多夠用了,等后面有時間了,在繼續寫......


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼玛县| 宝兴县| 瓦房店市| 离岛区| 鲁甸县| 泰顺县| 成都市| 新田县| 灵山县| 民乐县| 萝北县| 靖江市| 隆林| 平潭县| 毕节市| 纳雍县| 内乡县| 瑞昌市| 贡觉县| 怀化市| 田林县| 巴东县| 榕江县| 乳源| 博乐市| 高台县| 临邑县| 峡江县| 黔西县| 历史| 吉首市| 新乐市| 墨竹工卡县| 阜南县| 巴楚县| 乌兰县| 泰顺县| 金山区| 利辛县| 咸阳市| 丰原市|