關(guān)于.*匹配和.*?匹配的區(qū)別解析
掉坑回憶
我有一組json數(shù)據(jù)如下:
"resultItemId": "BDEECEB17F30435DBF79E07CEF8E8745", "bidObjectId": "1CFE15A68629489A81750DFE2C9A677E", "bidObjectName": "華僑城集團(tuán)有限公司2023至2025年度內(nèi)部審計(jì)及項(xiàng)目后評(píng)價(jià)服務(wù)", "inbidResultId": "109BC1A31C6140D5ACC901DDE6CD6754", "公司ID": "09d90ca99f5c434181b29ee1bf33a354", "中標(biāo)候選人名稱(chēng)": "天職國(guó)際會(huì)計(jì)師事務(wù)所(特殊普通合伙)", "state":1
我的目的是匹配出所有key為非中文的數(shù)據(jù),即
"resultItemId": "BDEECEB17F30435DBF79E07CEF8E8745", "bidObjectId": "1CFE15A68629489A81750DFE2C9A677E", "bidObjectName": "華僑城集團(tuán)有限公司2023至2025年度內(nèi)部審計(jì)及項(xiàng)目后評(píng)價(jià)服務(wù)", "inbidResultId": "109BC1A31C6140D5ACC901DDE6CD6754", "state":1
便使用了正則表達(dá)式
String reg = "\"\\w+\":.*,";
但是只匹配到了
"state":1
解決方法以及原理
方法:將正則表達(dá)式更換為
String reg = "\"\\w+\":.*?,";
原理:.*為貪婪模式,會(huì)將全文都作為匹配結(jié)果“囊括”進(jìn)去,可是.*?會(huì)匹配滿足條件的每一條數(shù)據(jù)。
到此這篇關(guān)于關(guān)于.*匹配和.*?匹配的區(qū)別的文章就介紹到這了,更多相關(guān).*匹配和.*?匹配的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
正則表達(dá)式(regex) 貪婪模式、懶惰模式使用方法
這篇文章主要介紹了正則表達(dá)式(regex) 貪婪模式、懶惰模式使用方法,需要的朋友可以參考下2015-10-10JavaScript基于正則表達(dá)式的數(shù)字判斷函數(shù)
JavaScript基于正則表達(dá)式的數(shù)字判斷函數(shù),需要的朋友可以參考下。2011-01-01正則表達(dá)式中的正向預(yù)查和負(fù)向預(yù)查
這篇文章主要介紹了正則表達(dá)式中的正向預(yù)查和負(fù)向預(yù)查,本文通過(guò)幾個(gè)場(chǎng)景給大家分析 ,需要的朋友可以參考下2019-08-08用正則表達(dá)式來(lái)判斷素?cái)?shù)的代碼
下面這段Python代碼演示了一個(gè)用正則表達(dá)式來(lái)判斷素?cái)?shù)的方法2009-09-09JavaScript正則表達(dá)式校驗(yàn)非正整數(shù)實(shí)例
本文分享了js正則表達(dá)式(^((-\d+)|(0+))$)校驗(yàn)非正整數(shù)實(shí)例代碼,代碼簡(jiǎn)單易懂,需要的朋友可以看下2016-12-12