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


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

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

匹配结果为:
图片描述

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

正则表达式 python python-爬虫

hinana 11 years, 6 months ago

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

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

lulu命 answered 11 years, 6 months ago

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

道长用飘柔 answered 11 years, 6 months ago

Your Answer