掉坑回忆
我有一组json数据如下:
1 2 3 4 5 6 7 | "resultItemId": "BDEECEB17F30435DBF79E07CEF8E8745", "bidObjectId": "1CFE15A68629489A81750DFE2C9A677E", "bidObjectName": "华侨城集团有限公司2023至2025年度内部审计及项目后评价服务", "inbidResultId": "109BC1A31C6140D5ACC901DDE6CD6754", "公司ID": "09d90ca99f5c434181b29ee1bf33a354", "中标候选人名称": "天职国际会计师事务所(特殊普通合伙)", "state":1 |
我的目的是匹配出所有key为非中文的数据,即
1 2 3 4 5 | "resultItemId": "BDEECEB17F30435DBF79E07CEF8E8745", "bidObjectId": "1CFE15A68629489A81750DFE2C9A677E", "bidObjectName": "华侨城集团有限公司2023至2025年度内部审计及项目后评价服务", "inbidResultId": "109BC1A31C6140D5ACC901DDE6CD6754", "state":1 |
便使用了正则表达式
1 | String reg = ""\w+":.*,"; |
但是只匹配到了
1 | "state":1 |
解决方法以及原理
方法:将正则表达式更换为
1 | String reg = ""\w+":.*?,"; |
原理:.*为贪婪模式,会将全文都作为匹配结果“囊括”进去,可是.*?会匹配满足条件的每一条数据。
到此这篇关于关于.*匹配和.*?匹配的区别的文章就介绍到这了,更多相关.*匹配和.*?匹配的区别内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!