请问您需要了解正则表达式中惰性匹配的用法吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1410个文字,预计阅读时间需要6分钟。
正则表达式贪婪匹配模式:在贪婪匹配模式中,表达式会尽可能多地匹配字符。例如,在正则表达式中,如果使用贪婪量词,如`.*`,它会匹配尽可能多的任意字符,直到遇到第一个不匹配的字符为止。这种模式可能会导致意想不到的结果,因为它可能会匹配到比预期更多的内容。在编写正则表达式时,应谨慎使用贪婪量词,以确保它们符合预期的匹配需求。
正则表达式惰性匹配模式:
在贪婪匹配模式一章节已经说过人性是贪婪的,希望获得更多的金钱、地位甚至美女,但是也有很多清心寡欲的人,只要满足基本的生活需求就可以了,在正则表达式中也有这样的匹配原则,下面就进行一下介绍。
一.惰性模式的概念:
此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如:
var str="axxyyzbdkb"; console.log(str.match(/a.*b/));
以上代码是贪婪模式,于是能够匹配整个字符串,下面将其修改成惰性匹配模式:
var str="axxyyzbdkb"; console.log(str.match(/a.*?b/));
上面的代码即是惰性匹配,方法就是在重复量词后面加一个问号(?)即可。
惰性匹配模式是尽可能少的匹配字符,但是必须要满足正则表达式的匹配规则,例如上面的代码,*可以重复匹配0个或者多个前面的字符或者子表达式,但是正则表达式的结尾必须是b,所以正则表达式可以匹配上面字符串中的axxyyzb。
总结如下:
1.在重复量词后面添加问号(?)即可形成惰性匹配。
2.惰性匹配会尽可能少的匹配字符,但是必须要满足整个匹配模式。
本文共计1410个文字,预计阅读时间需要6分钟。
正则表达式贪婪匹配模式:在贪婪匹配模式中,表达式会尽可能多地匹配字符。例如,在正则表达式中,如果使用贪婪量词,如`.*`,它会匹配尽可能多的任意字符,直到遇到第一个不匹配的字符为止。这种模式可能会导致意想不到的结果,因为它可能会匹配到比预期更多的内容。在编写正则表达式时,应谨慎使用贪婪量词,以确保它们符合预期的匹配需求。
正则表达式惰性匹配模式:
在贪婪匹配模式一章节已经说过人性是贪婪的,希望获得更多的金钱、地位甚至美女,但是也有很多清心寡欲的人,只要满足基本的生活需求就可以了,在正则表达式中也有这样的匹配原则,下面就进行一下介绍。
一.惰性模式的概念:
此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如:
var str="axxyyzbdkb"; console.log(str.match(/a.*b/));
以上代码是贪婪模式,于是能够匹配整个字符串,下面将其修改成惰性匹配模式:
var str="axxyyzbdkb"; console.log(str.match(/a.*?b/));
上面的代码即是惰性匹配,方法就是在重复量词后面加一个问号(?)即可。
惰性匹配模式是尽可能少的匹配字符,但是必须要满足正则表达式的匹配规则,例如上面的代码,*可以重复匹配0个或者多个前面的字符或者子表达式,但是正则表达式的结尾必须是b,所以正则表达式可以匹配上面字符串中的axxyyzb。
总结如下:
1.在重复量词后面添加问号(?)即可形成惰性匹配。
2.惰性匹配会尽可能少的匹配字符,但是必须要满足整个匹配模式。

