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

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

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

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

一、貪婪與懶惰

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

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

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

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴中市| 资阳市| 屏东县| 新邵县| 石景山区| 拉萨市| 美姑县| 浙江省| 洛扎县| 卓资县| 安福县| 湘阴县| 商城县| 蒙城县| 长兴县| 三明市| 唐山市| 宜兰县| 渭南市| 三河市| 六盘水市| 阳江市| 格尔木市| 大悟县| 九寨沟县| 永修县| 金溪县| 通城县| 无棣县| 奉节县| 富川| 蒙山县| 伊川县| 阳曲县| 威远县| 满城县| 宁安市| 蚌埠市| 阳春市| 临邑县| 宁安市|