关于.*匹配和.*?匹配的区别解析

2024-03-01 0 445
目录
  • 掉坑回忆
  • 解决方法以及原理

掉坑回忆

我有一组json数据如下:

\”resultItemId\”: \”BDEECEB17F30435DBF79E07CEF8E8745\”,
\”bidObjectId\”: \”1CFE15A68629489A81750DFE2C9A677E\”,
\”bidObjectName\”: \”华侨城集团有限公司2023至2025年度内部审计及项目后评价服务\”,
\”inbidResultId\”: \”109BC1A31C6140D5ACC901DDE6CD6754\”,
\”公司ID\”: \”09d90ca99f5c434181b29ee1bf33a354\”,
\”中标候选人名称\”: \”天职国际会计师事务所(特殊普通合伙)\”,
\”state\”:1

我的目的是匹配出所有key为非中文的数据,即

\”resultItemId\”: \”BDEECEB17F30435DBF79E07CEF8E8745\”,
\”bidObjectId\”: \”1CFE15A68629489A81750DFE2C9A677E\”,
\”bidObjectName\”: \”华侨城集团有限公司2023至2025年度内部审计及项目后评价服务\”,
\”inbidResultId\”: \”109BC1A31C6140D5ACC901DDE6CD6754\”,
\”state\”:1

便使用了正则表达式

String reg = \”\\\”\\\\w+\\\”:.*,\”;

但是只匹配到了

\”state\”:1

解决方法以及原理

方法:将正则表达式更换为

String reg = \”\\\”\\\\w+\\\”:.*?,\”;

原理:.*为贪婪模式,会将全文都作为匹配结果“囊括”进去,可是.*?会匹配满足条件的每一条数据。

到此这篇关于关于.*匹配和.*?匹配的区别的文章就介绍到这了,更多相关.*匹配和.*?匹配的区别内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • 正则表达式中.+?与.*?的区别
  • 正则表达式中的 .*? 或 .*+ 的意思
  • 解析正则表达式中的.*,.*?,.+?的含义

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 正则表达式 关于.*匹配和.*?匹配的区别解析 https://www.u-9.cn/biancheng/zhengze/181286.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务