【发布时间】:2012-07-12 15:51:36
【问题描述】:
看了几个solutions,想出了下面的代码。我想要的结果是 100.02。所需结果始终介于 'my launch duration=' 和 'mins'
之间mystring ='2012-07-11 22:30:33,536 INFO: 00/00/164/ABCTimeTest: my launch duration= 100.02 mins|z-vndn'
mypattern = /^.*=([^mins]*)/
subst = mystring.match(mypattern)
puts subst
使用上述代码输出: 2012-07-11 22:30:33,536 INFO: 00/00/164/ABCTimeTest: my launch duration= 100.02
我的模式有什么问题?用我对这种模式的理解纠正我。
#/
#^.*= ## move from start till = (now I have reached till '=')
#([^mins]) ## capture somethings that starts with mins (thats my 100.2)
#/
【问题讨论】:
-
([^mins]*)不符合您的预期。这意味着“捕获零个或多个不是“m”、“i”、“n”或“s”的东西。
标签: ruby