在 Kevin Tatroe 和 Peter MacIntyre 编写的《PHP 编程》第 107 页,第 3 版指出,在 PHP 正则表达式中,有一个非贪婪版本 {m}?
量词 {m}
。后一个量词表示“恰好 m 次”,我想知道这怎么可能是贪婪的或非贪婪的?
最佳答案
限制量词既可以是贪婪的,也可以是惰性的(不情愿的)。差异仅在您同时使用最小值和最大值时可见,例如{1,5}
和 {1,5}?
。
当您仅使用最小阈值时,贪婪和惰性版本会产生相同的行为。
似乎 {m}?
只是为了保持一致性({n}
和 {n,m}
都是相同的形式 limiting quantifier 可以是懒惰的或贪婪的),但确实是多余的。
关于php - 为什么 PHP 正则表达式中有 {m} 的非贪婪版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43180581/