正则表达式量词有什么区别:.* 和 .*?

What is the difference of regex Quantifier: .* and .*?

对于正则表达式匹配 ^(?s).*?HOLIDAY.*?INN.*?EXPRESS.*?$^(?s).*HOLIDAY.*INN.*EXPRESS.*$ 使用 .*? 而不是 .* 有什么好处?

换句话说,正则表达式量词的区别是什么:.*.*?

* 是一个贪心量词,这意味着它将匹配尽可能多的字母。 *? 是一个非贪婪量词,它将匹配尽可能少的字母。

要了解这种情况下的区别,让我们看一下以下片段或正则表达式:HOLIDAY.*?INN。在这一个中,.*? 将匹配字符串 HOLIDAY 和之后遇到的第一个 INN 之间的文本。如果没有 ?,它可能会找到更远的 INN