参见英文答案 >
Is the lazy version of the ‘optional’ quantifier (‘??’) ever useful in a regular expression? 2个
我目前正在阅读Jan Goyvaerts和Steven Levithan的正则表达手册.他们提到任何量词都可以通过放置?在它之后,所以这包括?量词,导致??.不幸的是,似乎没有进一步提及??在书里.
据我了解x?匹配字符x零次或一次,但最好是一次. X??匹配x零次或一次,但最好匹配它可以的零次.
我在regex101.com左右玩了一下,但没有想出这种差异实际上很重要的情况.吗?在任何正则表达式的味道中有任何实际意义吗?
最佳答案 以x123的输入为例
现在用正则表达式测试:
(x??)(x*\d+)
您将获得匹配的组:
>“”
>“x123”
现在用正则表达式测试:
(x?)(x*\d+)
您将获得匹配的组:
>“x”
>“123”
RegEx Demo for test case #1
RegEx Demo for test case #2
根据定义:
> x ??匹配字符x在零和一次之间,尽可能少,根据需要扩展[懒惰]
> x?匹配字符x在零和一次之间,尽可能多次,根据需要返回[贪心]