这就是我设置的内容:
n = 1
/([1-99])/.match("company1") == n.to_s # => false
如何将/([1-99])/.match("company1")
与n
进行比较,以便获得true
?
答案 0 :(得分:2)
您需要访问[MatchData][1]
内的匹配文字,并且还需要将正则表达式调整为[1-9][0-9]?
以匹配1
到99
之间的数字:
MatchData
是特殊变量$~
的类型,是类型Regexp#match
和Regexp.last_match
返回的对象。它 封装模式匹配的所有结果,结果通常 通过特殊变量$&
,$'
,$`
,$1
,$2
等进行访问。
所以,使用
puts /[1-9][0-9]?/.match("company1")[0] == n.to_s
请参阅demo
如果您需要匹配整个单词编号,请使用\b
:/\b[1-9][0-9]?\b/