色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java - 正則捕捉中(.*?)和(.*)的區別

瀏覽:87日期:2023-12-30 10:47:34

問題描述

Java使用正則匹配捕捉1 Pattern p = Pattern.compile('name='sign' value='(.*)'/>');2 Pattern p = Pattern.compile('name='sign' value=*'(.?)**'/>');第二個比第一個多了一個?號,請問其中區別是什么

問題解答

回答1:

貪婪和非貪婪的區別。

簡單來說,非貪婪是匹配到就停,不管后面還有沒有,貪婪是只要后面還符合,就不會停。

回答2:

當正則表達式中包含能接受重復的限定符時,通常的行為是(在使整個表達式能得到匹配的前提下)匹配盡可能多的字符。以這個表達式為例:a.*b,它將會匹配最長的以a開始,以b結束的字符串。如果用它來搜索aabab的話,它會匹配整個字符串aabab。這被稱為貪婪匹配。有時,我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的限定符都可以被轉化為懶惰匹配模式,只要在它后面加上一個問號?。這樣.*?就意味著匹配任意數量的重復,但是在能使整個匹配成功的前提下使用最少的重復?,F在看看懶惰版的例子吧:a.*?b匹配最短的,以a開始,以b結束的字符串。如果把它應用于aabab的話,它會匹配aab(第一到第三個字符)和ab(第四到第五個字符)。

復制自:http://deerchao.net/tutorials... 正則表達式30分鐘入門,貪婪與懶惰部分

回答3:

前者在找到一個匹配之后就會停止,而后者會找到所有匹配的目標。

回答4:

這個問題涉及正則表達式中貪婪模式與懶惰模式(也稱為非貪婪模式)首先來看看這兩個的定義

貪婪模式,最大限度匹配*,+,’{n,}’,.*都屬于貪婪模式,所謂最大限度匹配,我舉個例子

var pattern = /a.*e/console.log('abcd fsdfsdfsesfdfsdfsesdfedfsdfses'.match(pattern));//結果為abcd fsdfsdfsesfdfsdfsesdfedfsdfse

懶惰模式,在匹配成功的前提下,盡可能少的去匹配。還是上面這個例子:

var pattern = /a.*?e/console.log('abcd fsdfsdfsesfdfsdfsesdfedfsdfses'.match(pattern));//結果為abcd fsdfsdfse回答5:

?會選取最小的匹配的。

標簽: java
相關文章:
主站蜘蛛池模板: 一级毛片q片 | 亚洲欧美日韩国产精品久久 | 欧美高清一区二区三区欧美 | 国产日韩欧美三级 | 盈盈性影院 | 久久亚洲一级α片 | 一级a毛片 | 日本一级特黄高清ab片 | 成人在线播放视频 | 免费99热在线观看 | 欧美一级香蕉毛片 | 国产成人精品亚洲日本语音 | 男女午夜 | 一级毛片在线播放 | 久久久亚洲欧洲日产国码二区 | 8050网午夜一级毛片免费不卡 | 欧美一级毛片免费高清的 | 亚洲精品免费在线观看 | 亚洲精品天堂一区在线观看 | 99久久精品免费看国产 | 玖玖精品视频在线 | 成人免费观看高清在线毛片 | 国产日韩亚洲欧美 | 18在线网站| 美女亚洲综合 | 成人黄色毛片 | 国自产精品手机在线视频香蕉 | 久久久青青久久国产精品 | 国产成人亚洲精品老王 | 97精品国产福利一区二区三区 | 一级一级特黄女人精品毛片 | 网站国产 | 小屁孩和大人啪啪 | av毛片免费看 | 欧美高清不卡 | 免费人成在线观看网站品爱网 | 一级毛片一级毛片a毛片欧美 | 免费一级欧美大片在线观看 | 精品亚洲永久免费精品 | 91精品国产一区二区三区左线 | 97久久草草超级碰碰碰 |