ruby正则表达式不匹配

时间:2010-03-10 20:52:26

标签: ruby regex

text = "I fixed bug #1234 and #7895 "
regex = /#(\d*)/
m = regex.match(text)
puts m.inspect #<MatchData "#1234" "1234">

在上述情况下为什么我没有看到7895?什么是正确的解决方案?

1 个答案:

答案 0 :(得分:4)

正则表达式仅匹配第一个匹配项(当然,根本不匹配)。 <{1}}首先匹配#(\d*),以便返回该文本。

如果您想要多个匹配项,即您想搜索字符串,请使用String#scan或类似内容。