贪婪与非贪婪

abcdefgdogcat

  • 贪婪,
    就是尽可能多的匹配。
    例如 a.*d匹配的就是abcdefgd,如果后面还有那么匹配结果很更长,直到遇到.无法匹配的换行符。
  • 非贪婪,
    那就是知足常乐了,取第一次满足的匹配结果。
    那么a.*?d匹配的就是abcd

今天遇到的就是使用这句匹配图片链接时出的问题http:.+\\.jpg
原因是网页img标签是这样的
<img src="http://67.media.tumblr.com/a14f4a939315db6bd9fb6abf953db1d4/tumblr_ofss6etMDT1r2xjmjo1_1280.jpg" data-highres="http://67.media.tumblr.com/a14f4a939315db6bd9fb6abf953db1d4/tumblr_ofss6etMDT1r2xjmjo1_1280.jpg" />
这样每次取的结果都是
http://67.media.tumblr.com/a14f4a939315db6bd9fb6abf953db1d4/tumblr_ofss6etMDT1r2xjmjo1_1280.jpg" data-highres="http://67.media.tumblr.com/a14f4a939315db6bd9fb6abf953db1d4/tumblr_ofss6etMDT1r2xjmjo1_1280.jpg
查了好半天才知道非贪婪的方式http:.+?\\.jpg


贪婪:
{m,n}:m到n个
*:任意多个
+:一个到多个
?:0或一个

非贪婪:
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 正则表达式种常用的量词X+(1个或多个)、X*(0个或1多个)、X?(0个或1个) 正则表达式默认为贪婪模式,量词...
    Faustest阅读 1,471评论 0 0
  • 1.什么是正则表达式的贪婪与非贪婪匹配 贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使...
    5ab2de3d26e8阅读 528评论 0 0
  • 在传统的幼儿园里,大部分时间儿童不能自由活动,他必须很规矩的坐在课桌前听老师讲课,完全处在一种静止状态,人格就被...
    VanAllen阅读 482评论 1 0
  • 《这才是心理学——看穿伪心理学的本质》,作者基思·斯坦诺维奇 (Keith E. Stanovich),是一本经久...
    月咏樱落阅读 1,558评论 1 2
  • 【一】 念念不想忘之珍珠圆 摘一段百度百科:连城县,简称“莲”,别名莲城,地处福建西部山区武夷山脉南段,位于闽、粤...
    罗罗啊阅读 225评论 0 0

友情链接更多精彩内容