我是靠谱客的博主 唠叨时光,最近开发中收集的这篇文章主要介绍php正则表达式懒惰匹配,正则表达式-贪婪与懒惰,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

当正则表达式中包含重复元字符比如“*”、“+”,都会匹配尽可能多的字符,如“a.*b”,最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

有时候我们希望尽可能少的匹配满足条件的字符,我们称为 懒惰匹配。只要在它后面加上一个问号?。这样.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。var patt=/a.*?b/g

var str="aabab"

console.log(str.match(patt))    //匹配到  aab 和  ab

*?:重复任意次,但是尽可能少的重复

+?:重复至少1次,,但是尽可能少的重复

??:重复0或者1次,,但是尽可能少的重复

{n,m}?:重复n-m次,但是尽可能少的重复var patt=/a.+?b/g

var str="aabab"

console.log(str.match(patt))   //匹配到aab

var patt=/a.??b/g

var str="aabbbab"

console.log(str.match(patt))   //匹配到aab 和 ab

最后

以上就是唠叨时光为你收集整理的php正则表达式懒惰匹配,正则表达式-贪婪与懒惰的全部内容,希望文章能够帮你解决php正则表达式懒惰匹配,正则表达式-贪婪与懒惰所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部