正则表达式.*,.*?,.+?的含义

1. .*

. 表示匹配除换行符 \n 之外的任何单字符,*表示零次或多次。所以.*在一起就表示任意字符出现零次或多次。没有?表示贪婪模式。比如a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。
又比如模式src=.*, 它将会匹配最长的以 src= 开始,以结束的最长的字符串。用它来搜索 <img src=test.jpg` width=`60px` height=`80px`/> 时,将会返回 src=test.jpg width=60px height=80px`
2. .*?

?跟在或者+后边用时,表示懒惰模式。也称非贪婪模式。就是匹配尽可能少的字符。就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。
a.
?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。
又比如模式 src=.*?,它将会匹配 src=开始,以 结束的尽可能短的字符串。且开始和结束中间可以没有字符,因为*表示零到多个。用它来搜索 <img src=test.jpg` width=`60px` height=`80px`/> 时,将会返回 src=

3. .+?

同上,?跟在*或者+后边用时,表示懒惰模式。也称非贪婪模式。就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。
a.+?b匹配最短的,以a开始,以b结束的字符串,但a和b中间至少要有一个字符。如果把它应用于ababccaab的话,它会匹配abab(第一到第四个字符)和aab(第七到第九个字符)。注意此时匹配结果不是ab,ab和aab。因为a和b中间至少要有一个字符。
又比如模式 src=.+?,它将会匹配 src=开始,以 结束的尽可能短的字符串。且开始和结束中间必须有字符,因为+表示1到多个。用它来搜索 <img src=test.jpg` width=`60px` height=`80px`/> 时,将会返回 src=test.jpg。注意与.*?时的区别,此时不会匹配src=``,因为src= 和 ` 之间至少有一个字符。

正则表达式
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  《正则表达式入门经典》详细解释了正则表达式的各个组成部分、这些组成部分的含义、如何使用它们,以及在编写正则表达式时如何避免常见的错误。正则表达式能够帮助用户和开发人员更加有效地查找和操纵文本内容。而且,正则表达式已经得到了许多脚本语言、编程语言和数据库的良好支持。这本示例丰富的教程将打破所谓正则表达式难以掌握的传统神话。   通过逐章地讲解如何在流行的Windows平台的软件——包括数据库、跨平台的脚本语言和编程语言中使用正则表达式,你将学习到如何有效地驾驭正则表达式所提供的强大功能,并且全面理解正则表达式的高度灵活性和无限潜能。   ·正则表达式的基本概念以及如何编写正则表达式   ·如何分解文本操作问题并构建符合逻辑的正则表达式模式   ·如何在不同的脚本或编程语言以及软件包中使用正则表达式   ·当前各种正则表达式实现之间存在的差别   ·可以解决日常问题的、可重用的正则表达式示例代码   《正则表达式入门经典》读者对象   《正则表达式入门经典》适用于那些需要解决文本操作问题,但还不了解正则表达式的开发人员。虽然一些基本的编程或脚本编写经验是有用的,但并不是必需的。   《正则表达式入门经典》技术支持从Web站点www.wrox.com和www.tupwkcom.cn/downpage上可以获取《正则表达式入门经典》的源代码和Wrox技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值