0
text = "I fixed bug #1234 and #7895 "
regex = /#(\d*)/
m = regex.match(text)
puts m.inspect #<MatchData "#1234" "1234">
在上述情况下,为什么我没有看到7895?什么是正确的解决方案?红宝石正则表达式不匹配
text = "I fixed bug #1234 and #7895 "
regex = /#(\d*)/
m = regex.match(text)
puts m.inspect #<MatchData "#1234" "1234">
在上述情况下,为什么我没有看到7895?什么是正确的解决方案?红宝石正则表达式不匹配
正则表达式只匹配第一个匹配项(当然,根本不匹配)。 #(\d*)
首先匹配#1234
,以便返回一段文字。
如果你想多场比赛,也就是要搜索字符串,请使用String#scan
或类似的东西。
另外,你应该使用#(\ d +)而不是\ d * - 这个星星是零次或多次出现的,我不认为你想要字符串'I fixed bug #invalid'匹配。 – 2010-03-10 21:05:46
好点。谢谢安德鲁。 – 2010-03-10 22:34:35