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

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

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

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

一、貪婪與懶惰

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

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

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

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栖霞市| 花莲县| 惠州市| 黎川县| 枣阳市| 泰州市| 长顺县| 武夷山市| 黄龙县| 珠海市| 茶陵县| 中阳县| 吉安县| 新宁县| 鹤庆县| 孟州市| 邓州市| 乌恰县| 行唐县| 临沧市| 崇仁县| 水城县| 宁德市| 无锡市| 兴海县| 平武县| 家居| 铜鼓县| 聊城市| 始兴县| 新郑市| 高青县| 锡林郭勒盟| 迁安市| 巴东县| 湖州市| 陆丰市| 从江县| 二连浩特市| 绥芬河市| 洛阳市|