正则表达式.*什么意思

Z, ZLW 2024

正则表达式.*的意思是是单个字符匹配任意次,即贪婪匹配,”.”表示匹配除换行符 \n 之外的任何单字符,”*”表示零次或多次。所以.*在一起就表示任意字符出现零次或多次,会匹配尽可能多的字符。正则表达式中。*后面是\d+,也就是至少一个数字,并没有指定具体多少个数字。没有?表示贪婪模式。

.*的含义

. 表示匹配除换行符 \n 之外的任何单字符,*表示零次或多次。所以.*在一起就表示任意字符出现零次或多次。没有?表示贪婪模式。在贪婪匹配下,.* 会匹配尽可能多的字符。正则表达式中.*后面是\d+,也就是至少一个数字,并没有指定具体多少个数字,因此,.*就尽可能匹配多的字符,

比如a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。 又比如模式src=`.*`, 它将会匹配最长的以 src=` 开始,以`结束的最长的字符串。用它来搜索 <img src=“test.jpg` width=`60px` height=`80px`/> 时,将会返回 src=“test.jpg` width=`60px` height=`80px`

拓展阅读

.*?的含义

?跟在*或者+后边用时,表示懒惰模式。也称非贪婪模式。就是匹配尽可能少的字符。就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。 a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部