我的一位朋友试图向我解释这个问题的答案:
定义一个方法binary_multiple_of_4?(s)接受一个字符串,如果该字符串表示二进制数为4的倍数,则返回true。
然而,他给出的例子是:
if (s) == "0"
return true
end
if /^[01]*(00)$/.match(s) #|| /^0$/.match(s)
return true
else
return false
end
它有效,因为我们使用的软件说没有错误,但我不明白为什么,或者/ ^意味着什么,以及它是如何使用的。
如果你也可以解释/^0$/.match(s),那也很棒。
谢谢!
答案 0 :(得分:3)
他正在做的是使用正则表达式,请参阅:http://www.tutorialspoint.com/ruby/ruby_regular_expressions.htm
要将其分解,有一个模式在斜杠/pattern/
内匹配,每个字符都意味着什么。 ^
表示行的开头[01]
表示匹配0
或1
,*
表示匹配上一个事物([01]
)0或更多次,(00)
表示匹配00
,$
表示匹配行尾。
如果你想知道/ ^ 0 $ /匹配什么,你一定要根据我的帖子或我提供的链接中的信息来弄清楚。这是答案(悬停查看):
它匹配行的开头,零,一行的结尾。