亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

問題描述

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

問題解答

回答1:

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

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

回答2:

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

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

回答3:

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

回答4:

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

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

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

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

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

?會選取最小的匹配的。

標簽: java
相關(guān)文章:
主站蜘蛛池模板: 中文字幕日韩一区二区三区不卡 | 国产欧美日韩精品第二区 | 草草影院地址ccyycom浮力影院37 草草影院欧美 | 亚洲欧美日韩在线一区 | 天天色天天综合 | 久久久久亚洲精品一区二区三区 | 香蕉视频在线观看免费国产婷婷 | 国产精品成人h视频 | 手机国产日韩高清免费看片 | 免费国产不卡午夜福在线 | 久久美女精品 | 亚洲午夜在线播放 | 亚洲精品一区最新 | 免费观看三级毛片 | 99久久国产免费福利 | 国产xxxxx片免费观看 | 亚洲大尺度在线 | 情趣视频网站视频在线观看 | 丁香五月欧美成人 | 亚洲好视频 | 亚洲欧美日韩中文高清ww | 国产综合精品一区二区 | 亚洲图片色图 | 男女18一级大黄毛片免 | 麻豆免费在线视频 | 国产欧美一区二区三区视频在线观看 | 亚洲阿v天堂2021在线观看 | 麻豆传媒最新网址 | 在线欧美精品国产综合五月 | 久久黄色一级片 | 中文字幕无线码欧美成人 | 国产欧美日韩专区 | 色网址在线 | 国内自拍一二三四2021 | 一级毛片免费视频 | 一级毛片直接看 | 中文字幕日韩专区 | 日韩亚洲国产综合久久久 | 最近最新中文字幕在线第一页 | 欧美亚洲国产日韩一区二区三区 | 男人狂躁女人下面视频免费观看 |