av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

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

問題解答

回答1:

貪婪和非貪婪的區(qū)別。

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

回答2:

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

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

回答3:

前者在找到一個(gè)匹配之后就會停止,而后者會找到所有匹配的目標(biāo)。

回答4:

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

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

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

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

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

?會選取最小的匹配的。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 日韩高清一区 | 中文字幕一区二区三区日韩精品 | 成人免费视屏 | 在线免费国产 | 紧缚调教一区二区三区视频 | 国产精品一级在线观看 | 免费在线视频一区二区 | 国产激情91久久精品导航 | 欧美日一区二区 | 欧美成人一区二区三区 | 黄色一级毛片免费看 | 国产黄色小视频在线观看 | 黄色毛片免费看 | 国产高清视频一区 | 91精品无人区卡一卡二卡三 | 久久精品国产久精国产 | 99免费在线视频 | 欧美激情欧美激情在线五月 | 国产精品伦一区二区三级视频 | av网站观看 | 九九国产在线观看 | 国产韩国精品一区二区三区 | 2022精品国偷自产免费观看 | 免费的色网站 | 午夜av电影院 | 欧美国产激情二区三区 | 在线精品亚洲欧美日韩国产 | 欧美久久久久 | 一区二区三区在线免费 | 久久久久亚洲精品 | 久久久久国产一区二区三区 | 成人综合视频在线观看 | 91精品国产乱码久久久久久久久 | 91精品在线观看入口 | 日韩图区 | 亚洲视频区 | 亚洲精品欧美一区二区三区 | 成人免费视频观看 | av不卡一区 | 日日摸夜夜添夜夜添特色大片 | 亚洲人人 |