\"(.*?)\" 请问这个正则表达式是什么意思

正则表达式: \"(.*?)\"

文本为 :
suggest_so({q:"科技",p:true,s:["科技苑","科技手抄报图片大全","科技小制作大全","科技论文","科技幻想画","科技小制作小发明","科技美学","科技日报","科技画","科技部"]})

匹配结果为:
图片描述

问题:
初学正则,只看出来这个正则表达式中有懒惰,不明白为什么能只匹配汉字部分,请指导

阅读 7.3k
2 个回答

不是只匹配汉字部分,是匹配了两个"内的内容,.表示匹配任意字符,*表示匹配0次以上,合在一起就是匹配全文字符串,但是因为前后有引号显示,所以匹配的是引号内的全文。而?则是表示非贪婪匹配,也就是碰到符合这个条件的立马就匹配,你可以把?取消掉试试就能立马看出差别了。推荐多去看看正则30分钟入门教程,绝对经典。

引号 + 任意尽可能短的内容 + 引号

只是你引号里面都是汉字而已,你给一个"abc"肯定也匹配得出来了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题