我正在使用组尝试按某种模式进行匹配,但是并没有获得我期望的结果。感兴趣的模式如下:
([0-9]+(\.[0-9]+)+)
对于string 1.23
,我得到$1=1.23
,$2=.23
这对我来说很有意义。
但是对于string 1.2.3
,我得到了$1=1.2.3
和$2=.3
我期望的一样$2=.2.3
,因为它的组是一个小数点和一个数字,重复出现。
有人可以告诉我这是如何工作的吗?谢谢!
“这些模式匹配变量是标量,因此将仅包含一个值。该值就是最后匹配的捕获括号中的任何值。”
http://blogs.perl.org/users/sirhc/2012/05/repeated-capturing-and-parsing.html
在您的示例中,$1
匹配项1.2.3
。随着模式的重复,$2
将设置为.2
直到最终匹配.3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句