所有格量词regex的实际应用

所有格量词regex的实际应用,regex,regex-greedy,reluctant-quantifiers,Regex,Regex Greedy,Reluctant Quantifiers,我理解*(贪婪量词)回溯并试图找到匹配项。而且*+(所有格量词)不会回溯 然而,我经常使用*和\*?但不知道何时使用*+ 有人能给出一个应该使用*+的情况或例子吗 请举例说明 编辑: 我已经完成了理论部分,我重复一遍,我理解它是如何工作的。我只需要一个匹配所有格量词(*+)的示例,有许多(依赖正则表达式的)实现细节,因此很难概括这些内容。例如,使用^...+可以在字符串“上找到匹配项。使用^.*+.++您不需要。因为第一个匹配器已经吞下了整串空白 如果不希望正则表达式的下一部分意外地与上一部分匹

我理解
*
(贪婪量词)回溯并试图找到匹配项。而且
*+
(所有格量词)不会回溯

然而,我经常使用
*
\*?
但不知道何时使用
*+

有人能给出一个应该使用
*+
的情况或例子吗

请举例说明

编辑:

我已经完成了理论部分,我重复一遍,我理解它是如何工作的。我只需要一个匹配所有格量词(
*+

的示例,有许多(依赖正则表达式的)实现细节,因此很难概括这些内容。例如,使用
^...+
可以在字符串
上找到匹配项。使用
^.*+.++
您不需要。因为第一个匹配器已经吞下了整串空白

如果不希望正则表达式的下一部分意外地与上一部分匹配,则可以在任何情况下使用它


您可以在

中使用PCRE设置来测试这一点。请注意,如果所有格模式匹配,那么贪婪模式也会匹配。反之亦然。因此,如果你想把你的匹配限制在一个较小的集合中,你可以使用所有格量词


其次,当输入字符串与模式不匹配时,所有格量词很有用。因为他们“吃”了他们的输入并且没有回溯,所以他们会更快地发现不匹配。在极端情况下,这会调用并关闭站点(包括StackOverflow,请参阅)。

对于那些标记可能重复的站点,请注意,我了解它们的工作原理。我无法理解所有格量词的示例/实际用法使用所有格量词修复正则表达式(它与周围的原子群相同)@ArunGowdru“可能的Dup”包含一个
*+
示例,并继续与其他示例进行深入对比。这就是你想要的吗?好的。我今天碰到一个。您能举一个与。*+匹配的例子吗?这样我就可以算出它了?一个空字符串或任意数量的空白将匹配它。您不会注意到
*
的区别,这是错误的。这里的两个正则表达式将给出相同的结果。第一部分,
*
*+
将匹配整个字符串。最后的
*
将没有任何匹配项,但它不需要匹配任何内容。@Yay295感谢您指出这一点,我把正则表达式写错了。我修正了答案。